localStorage
に設定したすべてのデータを消去する必要があります。これにより、ユーザーが自分のアカウントを削除したときにlocalStorage
をnull
に完全にリセットすることを意味します。
どうすれば簡単な関数でそれができますか?
私はこれを試しました:
function clearLocalStorage(){
return localStorage= null;
}
しかし、それは期待通りには機能しません。
localStorage.clear();
うまくいくはずです。
使用するよりもローカルストレージからすべての値を削除または消去したい場合
localStorage.clear();
そして、あなたがローカルストレージから特定のアイテムを取り除きたいならば、以下のコードを使う
localStorage.removeItem(key);
Firefoxでは、window
オブジェクトからアクセスしたときにのみ機能しました。
例...
window.onload = function()
{
window.localStorage.clear();
}
.one
を使用すると、これは一度だけ行われ、繰り返し行われることはありません。
$(window).one("focus", function() {
localStorage.clear();
});
読みやすくするために、無理をしない限り、document.readyイベントリスナーを複数回配置してもかまいません(他のイベントを複数回実行する必要がある場合)。
.one
は、Webページを最初に開いたとき、またはモバイルアプリケーションを初めてインストールしたときに1回だけローカルストレージを消去する場合に特に便利です。
// Fired once when document is ready
$(document).one('ready', function () {
localStorage.clear();
});
このようなことはするべきです:
function cleanLocalStorage() {
for(key in localStorage) {
delete localStorage[key];
}
}
ただし、これを使用する場合は注意してください。他のデータがlocalStorage
に格納されている可能性があるため、これを削除した場合は、おそらくかなり目立ってしまうでしょう。 a)ユーザーのデータをlocalStorage
に格納しない、またはb)ユーザーのアカウント情報を1つの変数に格納し、それをクリアしてlocalStorage
内のすべてのキーを削除することをお勧めします。
編集:リンが指摘したように、あなたはlocalStorage.clear()
を使うのがよいでしょう。しかし、私のこれまでの論点はまだ立っています。