191

に設定したすべてのデータをクリアする必要がありますlocalStorage。これは、ユーザーがアカウントを削除したときに完全にリセットlocalStorageされることを意味します。null

簡単な関数でそれを行うにはどうすればよいですか?

私はこれを試しました:

function clearLocalStorage(){
    return localStorage= null;
}

しかし、期待どおりには機能しません。

4

5 に答える 5

495

localStorage.clear();

動作するはずです。

于 2012-05-22T21:51:01.090 に答える
105

使用するよりもローカルストレージからすべての値を削除/クリーンアップする場合

localStorage.clear();

また、ローカルストレージから特定のアイテムを削除する場合は、次のコードを使用してください

localStorage.removeItem(key);
于 2012-05-23T11:05:49.887 に答える
10

を使用.oneすると、これが 1 回だけ実行され、繰り返し実行されないことが保証されます。

$(window).one("focus", function() {
    localStorage.clear();
});

読みやすさのために、無理をしない限り、(他のイベントを複数回実行する必要がある場合) 複数の document.ready イベント リスナーを配置してもかまいません。

.oneは、Web ページを初めて開いたとき、またはモバイル アプリケーションを初めてインストールしたときに 1 回だけローカル ストレージをクリアする場合に特に便利です。

   // Fired once when document is ready
   $(document).one('ready', function () {
       localStorage.clear();
   });
于 2012-12-05T07:47:09.327 に答える
4

このようなことをする必要があります:

function cleanLocalStorage() {
    for(key in localStorage) {
        delete localStorage[key];
    }
}

ただし、ユーザーは他のデータを保存している可能性があり、localStorageそれを削除するとかなり問題が発生する可能性があるため、これを使用する場合は注意してください。a)ユーザーのデータを に格納しないか、localStorageb) ユーザーのアカウントのものを 1 つの変数に格納してから、 のすべてのキーを削除する代わりにそれをクリアすることをお勧めしますlocalStorage


編集:Lynが指摘したように、あなたはlocalStorage.clear(). ただし、以前のポイントはまだ有効です。

于 2012-05-22T21:49:59.233 に答える