localStorageの動作がおかしい?解決方法
(#58416) 4階層
LocalStorage の投稿 : 2015/02/25(Wed) 21:31:52
http://www.htmq.com/webstorage/
(環境: WinVista/Safari)

FirefoxにおけるlocalStorage予備知識・・・localStorageフォルダーを変更しているらしい
変更日前から使用していると・・・localStorageフォルダLS新とLS古2つ同時に使われているようだ?

localStorageフォルダLS新とLS古に同じkeyがある場合・・・LS新が採用される
localStorageフォルダLS新にkeyが無い場合・・・LS古もkeyを探す・・・データ自動移行か?
LS古のkeyが読出されると消えないし変化しないのでデッドロックのように見えるかもしれない。

localStorage.setItem(key,'')を行うと・・・localStorageフォルダLS新のkeyのみ消される・・・LS古が残った
localStorage.removeItem(key)を行うと・・・localStorageフォルダLS新のkeyのみ消される・・・LS古が残った
localStorage.clear()を行うと・・・localStorageフォルダLS新のみ消される・・・LS古が残った

ここで読出しにおけるgetItem(key)の重大な問題点
LS新にkeyが有れば不具合とならないが
LS新にkeyが無ければLS古のkeyデータを勝手に掴んでくる

ここで読出しにおけるgetItem(key)の重大な問題点の一時的解消方法
LS新では消すのでは無くkeyに消去ステータスとしてダミーデータを入れておく
LS新にkeyがあるのでLS古のkeyデータを勝手に掴んでくる事が無い

クリーンインストールすればこの問題は解消されるが
信頼性優先と考えて根本対処するなら、LS古が存在する場合
localStorage.clear()ではLS新とLS古を同時に消す。
localStorage.removeItem(key)でもLS新とLS古を同時に消す。
localStorage.setItem(key,'')なら自動的にlocalStorage.removeItem(key)を代用する。

なお、動作不良のスクリプトは動作を回復した。
済!
[メール転送/OFF] /

前の記事(元になった記事) 次の記事(この記事の返信)
localStorageの動作がおかしい?経過報告 /LocalStorage 返信無し  

上記関連ツリー

Message localStorageの動作がおかしい?まとめ / LocalStorage :15/02/12(Thu) 03:17 (#58409)
LMessage Re: localStorageの動作がおかしい?まとめ / pal :15/02/12(Thu) 08:10 (#58410)
LMessage Re: localStorageの動作がおかしい?まとめ / LocalStorage :15/02/12(Thu) 09:15 (#58411)
LMessage localStorageの動作がおかしい?経過報告 / LocalStorage :15/02/24(Tue) 15:35 (#58415)
LMessage localStorageの動作がおかしい?解決方法 / LocalStorage :15/02/25(Wed) 21:31 (#58416) 済! *現在の記事
[ All 上記ツリーを一括表示 / 上記ツリーをトピック表示 ]


上記の記事へ返信

お名前
E メール
* 関連する返信記事をメールで受信しますか? * アドレスの表示
環境 OS ブラウザ MUA
タイトル
URL
コメント 自動改行 手動改行(等幅フォント)
自動リンク MozillaZine-jp / Bugzilla-jp / bmo (bugzilla.mozilla.org) (クリックで挿入)
スマイリー Very_Happy Smile Sad Embarassed Surprised Shocked Confused Cool Laughing Mad Razz Crying_or_Very_sad Evil_or_Very_Mad Twisted_Evil Rolling_Eyes Wink Exclamation Question Idea Arrow Neutral Mr.Green
CCBot/2.0 (http://commoncrawl.org/faq/)
記事内容
記事ソート
プレビュー 左のチェックボックスをチェックすると、投稿前にプレビューができます
済! 問題が解決したらチェックしてください
captcha input string in image
上の画像認証の画像に表示されている文字 (2-8の数字もしくはzを除く英小文字) を入力してください。
読み込み後、一度もしくは60分間しか有効ではありません。

- Child Tree -