4

私はjson形式の変数を取り、それを出力する必要があるいくつかのコードをテストしてきましたが、空の配列を出力します。

私がこれを試している場合:

console.log(JSON.stringify({first:1,second:2}));

次に、ページをクラッシュさせます (Chrome: "Aw, Snap!")。

数人に尋ねたところ、再現できませんでしたが、毎回取得しています。FireFoxでもテストしましたが、そこでもクラッシュします。

これはコードでした:

var timer={first:0,second:0,third:0,fourth:0};
localStorage.setItem('saveTimers', JSON.stringify(timer));

そして、それは localStorage に [] を設定します

4

3 に答える 3

1

これをたくさん実行するとクラッシュすることができました:

for (var i = 0; i < 100000; i ++) {
    var timer={first:0,second:0,third:0,fourth:0};
    localStorage.setItem('saveTimers', JSON.stringify(timer));
}

おそらく、このコードを本当にすばやく実行しているのでしょうか。これに対する解決策は、関数をスロットルすることです。これは、スロットル関数を実装するか、Underscore.jsのスロットルを使用して実行できます。

于 2013-02-05T22:52:22.520 に答える
0

Chrome のベータ版または開発版ビルドを使用している場合は、この動作が安定版ビルドでも同じであることを再確認してください。そうでない場合は、問題があります。

于 2013-02-05T22:56:20.277 に答える
0

したがって、あなたが実際に抱えている問題は、 に保存することlocalStorageです。

これは、何よりも権限の問題のようです。ブラウザにはファイルシステムにアクセスする権限がありますか? ブラウザが使用するフォルダは書き込み可能ですか? ブラウザの再インストールは試しましたか?

これらはあなたがチェックすべきものです。

于 2013-02-05T22:48:29.920 に答える