web-dev-qa-db-ja.com

localStorageがEdgeで機能しませんか?

私は現在、いくつかの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

ありがとう!

16
Niels

ローカルストレージ はIE9のローカルファイルでは機能しませんでした 。そのため、MS Edgeでもこれが当てはまると思います。

localhost上のサーバーでEdgeでテストしたところ、コード行は問題なく機能しました。

> var something = localStorage.getItem('something');
> undefined

これは、以前のバージョンのIEのセキュリティ問題であり、ブラウザの開発時に更新されなかった可能性があります。

ただし、localStorageとsessionStorageは、「file://」プロトコルを使用してアクセスされるHTMLファイルの Edgeではまだ動作しないようです

18
nils

やってみてください

var something = window.localStorage.getItem('something');

「DOMストレージを有効にする」が選択されているかどうかも確認できますか? [インターネットオプション]-> [詳細設定]タブ-> [セキュリティ]グループボックスにあります。

また、ローカルファイルシステムからページを実行している場合、IEではlocalStorageが機能しないため、Webサーバーから実行する必要があります。

有効にする方法の詳細を提供するリンクがあります

4
Vlad Bezden