1

重複の可能性:
localStorage オブジェクトが IE で定義されていません

次のコードはSCRIPT5009: 'Storage' is undefinedIE9で私を与えます。Chrome、Safari、Firefox で動作します。

Storage.prototype.setObject = function(key, value) {
    this.setItem(key, JSON.stringify(value));
}

はローカルファイルシステムからアクセスするのではなく、Apacheサーバーからページを提供しているため、以下は適用されません:

localStorage オブジェクトは IE では定義されていません

Web サイトがファイル システムから直接アクセスされると、IE9 のローカル ストレージが失敗する

update 2で問題が見つかりました。私の回答を参照してください。

4

2 に答える 2

1

問題が見つかりました。DOCTYPE を指定する必要があります<!DOCTYPE html>が、他のブラウザーは IE を気にしません。

指摘してくれた@Rocket Hazmatに感謝します。

DOCTYPE がない場合、IE は Quirks モードになります。DOCTYPE を使用すると、IE は標準モードになります。HTML5 機能にアクセスするには、IE を標準モードにする必要があると思います。

于 2012-12-28T21:00:44.313 に答える
0

ここで推測...

IE 9 は、ローカル ファイル システムで実行する場合、localStorage をサポートしていないようです: Web サイトがファイル システムから直接アクセスされると、IE9 のローカル ストレージが失敗します

詳細については、http ://www.wintellect.com/CS/blogs/jprosise/archive/2011/03/10/using-html5-web-storage-for-interprocess-communication.aspx を参照してください。

したがって、外部サーバーで実行するか、スクリプトでサポートされているかどうかを確認できます。

if ("localStorage" in window && window["localStorage"] != null) {

    // Local storage supported

}
于 2012-12-28T20:38:11.040 に答える