Вопрос по javascript, jquery, html5, local-storage – HTML5 - localStorage удалить и очистить все данные [дубликаты]

133

This question already has an answer here:

Clearing localStorage in javascript? 8 answers

Мне нужно очистить все данные, которые я установил вlocalStorage, Под этим я подразумеваю полностью сбросlocalStorage вnull когда пользователи удаляют свои учетные записи.

Как я могу сделать это с помощью простой функции?

Я попробовал это:

function clearLocalStorage(){
    return localStorage= null;
}

Но это не работает, как ожидалось.

Ваш Ответ

5   ответов
365

localStorage.clear();

должно сработать.

Или это. [дополнительный текст]
sessionStorage.clear (); удалить данные хранения сеанса.
В некоторых случаях вам может потребоваться вызвать его из оконного объектаwindow.localStorage.clear();
window.localStorage.clear (); // если работает на ионном, т.е.
9

Это работало только для меня в Firefox при доступе к нему изwindow объект.

Пример...

window.onload = function()
{
 window.localStorage.clear();
}
78

Если вы хотите удалить / очистить все значения из локального хранилища, чем использовать

localStorage.clear();

И если вы хотите удалить конкретный элемент из локального хранилища, используйте следующий код

localStorage.removeItem(key);
Я нашел решение для моей проблемы: - if (localStorage.getItem (specificKey) == null) {localStorage.clear (); } Но если у вас есть лучшее решение, дайте мне знать. Благодарю.
Привет, @Talha. Если я не хочу удалять для определенного элемента, есть ли способ сделать это тоже? Например, «удалитьItemNotIn (ключ)». Заранее спасибо.
4

Нечто подобное должно сделать:

function cleanLocalStorage() {
    for(key in localStorage) {
        delete localStorage[key];
    }
}

Будьте осторожны при использовании этого, так как пользователь может иметь другие данные, хранящиеся вlocalStorage и, вероятно, будет довольно галочкой, если вы удалите это. Я рекомендую либо а) не хранить данные пользователя вlocalStorage или b) сохраняют данные учетной записи пользователя в одной переменной, а затем очищают ее вместо удаления всех ключей вlocalStorage.

EditКак указала Лин, с тобой будет хорошоlocalStorage.clear(), Мои предыдущие пункты все еще остаются, однако.

7

С помощью.one гарантирует, что это делается только один раз, а не повторно.

$(window).one("focus", function() {
    localStorage.clear();
});

Можно поставить несколько прослушивателей событий document.ready (если вам нужно, чтобы другие события выполнялись несколько раз), если вы не переусердствовали, для удобства чтения.

.one Это особенно полезно, если вы хотите, чтобы локальное хранилище очищалось только при первом открытии веб-страницы или при первой установке мобильного приложения.

   // Fired once when document is ready
   $(document).one('ready', function () {
       localStorage.clear();
   });

Похожие вопросы