Ответы:
Используйте это, чтобы очистить localStorage:
localStorage.clear();
clear()
удалит все ключи и значения localStorage из определенного домена, в котором вы находитесь. Javascript не может получить значения localStorage из других доменов из-за CORS.
Если вы хотите удалить определенный элемент или переменную из локального хранилища пользователя, вы можете использовать
localStorage.removeItem("name of localStorage variable you want to remove");
var key; for (var i = 0; i < localStorage.length; i++) { key = localStorage.key(i); if(key != particularKey){ localStorage.removeItem(key); } }
let tmp = localStorage.getItem('<your-name>'); localStorage.clear(); localStorage.setItem('<your-name>')
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);
}
}
};
undefined
является допустимым ключом для setItem
иgetItem
localStorage.setItem(undefined, 'example Txt!')
:, сохранит его под ключом, 'undefined'
который вы видите, как вы видите при запуске следующего кода. console.log(localStorage.getItem('undefined'))
будет выводить example Txt!
.
Локальное хранилище прикреплено к глобальному window
. Когда мы регистрируем localalstorage в chrome devtools, мы видим, что у него есть следующие API:
Мы можем использовать следующие API для удаления элементов:
localStorage.clear()
: Очищает все местное хранилищеlocalStorage.removeItem('myItem')
: Удалить отдельные элементыПерво-наперво, вам нужно проверить, чтобы убедиться, что localStorage включен. Я бы порекомендовал сделать это так:
var localStorageEnabled = false;
try { localStorageEnabled = !!localStorage; } catch(e) {};
Да, вы можете (в некоторых случаях) просто проверить, является ли localStorage членом объекта окна. Тем не менее, существуют опции песочницы iframe (помимо прочего), которые выдают исключение, если вы даже пытаетесь получить доступ к индексу localStorage. Таким образом, по причинам передового опыта, это лучший способ проверить, включен ли localStorage. Затем вы можете просто очистить localStorage следующим образом.
if (localStorageEnabled) localStorage.clear();
Например, вы можете очистить localStorage после того, как в браузерах webkit произойдет ошибка.
// 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, то
localStorage.clear();
Используйте это для очистки всех сохраненных ключей.
Если вы хотите очистить / удалить только определенный ключ / значение, вы можете использовать removeItem (ключ) .
localStorage.removeItem('yourKey');
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;
}
});
Вот простой код, который очистит локальное хранилище, хранящееся в вашем браузере, с помощью JavaScript
<script type="text/javascript">
if(localStorage) { // Check if the localStorage object exists
localStorage.clear() //clears the localstorage
} else {
alert("Sorry, no local storage."); //an alert if localstorage is non-existing
}
</script>
Чтобы подтвердить, что localstorage пусто, используйте этот код:
<script type="text/javascript">
// Check if the localStorage object exists
if(localStorage) {
alert("Am still here, " + localStorage.getItem("your object name")); //put the object name
} else {
alert("Sorry, i've been deleted ."); //an alert
}
</script>
если он возвращает ноль, то ваше локальное хранилище очищается.
Этот код дает вам список строк ключей, которые вы не хотите удалять, затем он фильтрует их по всем ключам в локальном хранилище, а затем удаляет остальные.
const allKeys = Object.keys(localStorage);
const toBeDeleted = allKeys.filter(value => {
return !this.doNotDeleteList.includes(value);
});
toBeDeleted.forEach(value => {
localStorage.removeItem(value);
});