私は現在、いくつかのJSに取り組んでいます。 Microsoft Edgeを除くすべてのブラウザーで正常に動作します。問題は非常に単純です:私のスクリプトの1つで、次のように変数を宣言します。
var something = localStorage.getItem('something');
とにかく何かはまだ存在していませんが、全体の考え方は、これを後の関数での参照に使用できるということです。 Firefox、Chrome、OperaとSafariにはこれに問題はありませんが、Edgeにはありますので、私の質問は簡単な修正ですか?またはスクリプト全体を書き直す必要がありますか?エッジのせい?
これは、Edgeが途中でスローするエラーです。
Unable to get property 'getItem' of undefined or null reference
ありがとう!
ローカルストレージ はIE9のローカルファイルでは機能しませんでした 。そのため、MS Edgeでもこれが当てはまると思います。
localhost
上のサーバーでEdgeでテストしたところ、コード行は問題なく機能しました。
> var something = localStorage.getItem('something');
> undefined
これは、以前のバージョンのIEのセキュリティ問題であり、ブラウザの開発時に更新されなかった可能性があります。
ただし、localStorageとsessionStorageは、「file://」プロトコルを使用してアクセスされるHTMLファイルの Edgeではまだ動作しないようです
やってみてください
var something = window.localStorage.getItem('something');
「DOMストレージを有効にする」が選択されているかどうかも確認できますか? [インターネットオプション]-> [詳細設定]タブ-> [セキュリティ]グループボックスにあります。
また、ローカルファイルシステムからページを実行している場合、IEではlocalStorageが機能しないため、Webサーバーから実行する必要があります。