Відповіді:
Використовуйте це, щоб очистити 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);
});