Vidorra

Vidorra

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

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

原文を読む

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

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

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

image

それでは解決策は 2 つあります:

  • クライアントにブラウザのバージョンアップを依頼する
  • フロントエンドをアップグレードして、低いバージョンに対応する

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

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

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

さらに、globalThis とは何かについて理解する必要があります:

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