web-dev-qa-db-ja.com

JavaScriptでlocalStorageをクリアしますか?

JavaScriptでブラウザのlocalStorageをリセット/クリアする方法はありますか?

665
Bnicholas

LocalStorageをクリアするためにこれを使用してください:

localStorage.clear();
1245
Digital Plane

ユーザーのローカルストレージから特定のItemまたは変数を削除したい場合は、

localStorage.removeItem("name of localStorage variable you want to remove");
172
Ajeet Lakhani
window.localStorage.clear(); //try this to clear all local storage
105
Neal

これは例外を除いてすべてのlocalStorage項目を削除できるようにする関数です。この関数には jQuery が必要です。あなたは 要旨をダウンロードすることができます

このように呼ぶことができます

let clearStorageExcept = function(exceptions) {
  let keys = [];
  exceptions = [].concat(exceptions); // prevent undefined

  // get storage keys
  $.each(localStorage, (key) => {
    keys.Push(key);
  });

  // loop through keys
  for (let i = 0; i < keys.length; i++) {
    let key = keys[i];
    let deleteItem = true;

    // check if key excluded
    for (let j = 0; j < exceptions.length; j++) {
      let exception = exceptions[j];
      if (key == exception) {
        deleteItem = false;
      }
    }

    // delete key
    if (deleteItem) {
      localStorage.removeItem(key);
    }
  }
};
11
Christian Juth

まず最初に、localStorageが有効になっていることを確認する必要があります。このようにすることをお勧めします。

var localStorageEnabled = false;
try { localStorageEnabled = !!localStorage; } catch(e) {};

はい、localStorageがウィンドウオブジェクトのメンバーであるかどうかを確認することができます(場合によっては)。ただし、インデックス 'localStorage'にアクセスしようとした場合でも例外をスローする(特に)iframeサンドボックス化オプションがあります。したがって、ベストプラクティスの理由から、これはlocalStorageが有効になっているかどうかを確認する最良の方法です。それから、localStorageをクリアするだけです。

if (localStorageEnabled) localStorage.clear();

たとえば、Webkitブラウザでエラーが発生した後にlocalStorageをクリアすることができます。

// clears the local storage upon error
if (localStorageEnabled)
  window.onerror = localStorage.clear.bind(localStorage);

上記の例では、.bind(window)が必要です。それがなければ、localStorage.clear関数はwindowオブジェクトではなくlocalStorageオブジェクトのコンテキストで実行されるため、黙って失敗します。これを実証するために、以下の例を見てください。

window.onerror = localStorage.clear;

と同じです。

window.onerror = function(){
    localStorage.clear.call(window);
}
4
Jack Giffin

Localstorageはグローバルwindowにアタッチされています。 localstorageをchrome devtoolsに記録すると、以下のAPIがあることがわかります。

enter image description here

アイテムを削除するには、次のAPIを使用できます。

  1. localStorage.clear():ローカルストレージ全体をクリアします
  2. localStorage.removeItem('myItem'):個々のアイテムを削除する
0
localStorage.clear();

または

window.localStorage.clear();

特定のアイテムをクリアする

window.localStorage.removeItem("item_name");

特定の値をidで削除するには

var item_detail = JSON.parse(localStorage.getItem("key_name")) || [];           
            $.each(item_detail, function(index, obj){
                if (key_id == data('key')) {
                    item_detail.splice(index,1);
                    localStorage["key_name"] = JSON.stringify(item_detail);
                    return false;
                }
            });
0
vino

SessionStorageをクリアするには

sessionStorage.clear();
0
m-farhan