HTML5-localStorage удалить и очистить все данные [дубликат]

этот вопрос уже есть ответ здесь:

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

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

I попытался это:

function clearLocalStorage(){
    return localStorage= null;
}

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

5 ответов


localStorage.clear();

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


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

localStorage.clear();

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

localStorage.removeItem(key);

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


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

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

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

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

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

что-то вроде этого должны сделать:

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

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


редактировать: пока Лин отметил, вы будете хорошо с localStorage.clear(). Однако мои предыдущие замечания остаются в силе.