私はlocalStorageを使用していくつかのバイナリデータを文字列形式で保存してきましたが、値は確実に設定されていますが(alert
設定直後、または設定後しばらくすると正しい値が表示されます)、ページが次に読み込まれるときに失われます。
最初はデータにヌルバイトが含まれているのではないかと思ったので、出力されないようにコンプレッサーを再設計しました。ただし、値はまだ失われているため、これによる違いはありません。
localStorage.testing = 1
バイナリデータを設定した直後に追加しました。この値は、もう一方が失われた場合でも保持されます。
にコードがないことは間違いありませんdelete localStorage.myitem
。
この問題の原因は何ですか?
それが役立つ場合は、これが私が保存しようとしているデータを16進数で示しています。
0x1103c0a0 0xd6cf0305 0xc0a0d6cf 0x0307c0a0 0xd6cf0309 0xc0a0d6cf
0x030bc0a0 0xd6cf030d 0xc0a0d6cf 0x0311c0a0 0xd6cf0313 0xc0a0d6cf 0x0301
編集:私はちょうどテストしました、localStorage.testvalue = realvalue.replace(/[\x00-\x1f]/g,'');
そしてそれはそれを首尾よく保存しました。ですから、文字列で制御文字を使用できないという仕様がどこにあるのか知りたいのですが。