Відповіді:
Використовуйте це, щоб очистити localStorage:
localStorage.clear();
clear()видалить усі локальні ключі та значення із конкретного домену, на якому ви перебуваєте. Через CORS Javascript не може отримати значення localStorage з будь-якого іншого домену.
Якщо ви хочете видалити певний Елемент або змінну з локального сховища користувача, ви можете використовувати
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. Коли ми реєструємо локальне зберігання у хромованих розробниках, ми бачимо, що він має такі API:
Для видалення елементів ми можемо використовувати такі API:
localStorage.clear(): Очищає весь локальний магазинlocalStorage.removeItem('myItem'): Для видалення окремих елементівСпочатку все спочатку потрібно перевірити, щоб переконатися, що localStorage увімкнено. Я рекомендую зробити це так:
var localStorageEnabled = false;
try { localStorageEnabled = !!localStorage; } catch(e) {};
Так, ви можете (в деяких випадках) просто перевірити, чи є localStorage членом об’єкта вікна. Однак існують варіанти пісочниці iframe (серед іншого), які викинуть виняток, якщо ви навіть спробуєте отримати доступ до індексу "localStorage". Таким чином, з міркувань кращих практик це найкращий спосіб перевірити, чи активовано локальне зберігання. Тоді ви можете просто очистити локальний сховище так.
if (localStorageEnabled) localStorage.clear();
Наприклад, ви можете очистити 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, тоді
localStorage.clear();
Використовуйте це, щоб очистити весь збережений ключ.
Якщо ви хочете очистити / видалити лише певний ключ / значення, тоді ви можете скористатися deleteItem (ключ) .
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>
Щоб підтвердити, чи локальне зберігання порожнє, використовуйте цей код:
<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);
});