JavaScriptでブラウザのlocalStorageをリセット/クリアする方法はありますか?
LocalStorageをクリアするためにこれを使用してください:
localStorage.clear();
ユーザーのローカルストレージから特定のItemまたは変数を削除したい場合は、
localStorage.removeItem("name of localStorage variable you want to remove");
window.localStorage.clear(); //try this to clear all local storage
これは例外を除いてすべての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);
}
}
};
まず最初に、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);
}
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;
}
});
SessionStorageをクリアするには
sessionStorage.clear();