Vidorra

Vidorra

主站:https://blog.vidorra.life

ブラウザ側のglobalThisが定義されていないエラーを解決する

原文を読む

今日の開発中、運用チームからページが空白でシステムに入れないと報告がありました。調査したところ、私のprint-template-designerがエラーを報告しており、globalThis is not defined というエラーが出ていました。

実際、以前にもこのようなエラーに遭遇したことがあるように思いますが、一般的にはブラウザのバージョンが低すぎることが原因でした。

Can I Use で調べると、globalThis は chrome70 バージョンより前ではサポートされていないことがわかりました。

画像

そのため、解決方法は 2 つあります:

  • クライアントにブラウザのバージョンアップを促す
  • フロントエンドをアップグレードして、低いバージョンとの互換性を確保する

最終的には、クライアントにブラウザのバージョンアップをお願いしました。Win7 システムでは最新の 108 バージョンを使用すれば問題ありません。(ちなみに今年、Chrome は Win7 のサポートを終了しましたが、108 が最後のバージョンになるはずです)

また、コードの面でどう解決すればよいか?head に以下のコードを追加するだけです。

<head>
  <script>
    this.globalThis || (this.globalThis = this)
  </script>
</head>

さらに、globalThis について理解するためのリンク:

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。