HTML5-localStorage eliminar y borrar todos los datos [duplicar]


Esta pregunta ya tiene una respuesta aquí:

Necesito borrar todos los datos que establezco en localStorage. Con esto, me refiero a restablecer completamente localStorage a null cuando los usuarios eliminen sus cuentas.

¿Cómo puedo hacer eso con una función simple?

He intentado esto:

function clearLocalStorage(){
    return localStorage= null;
}

Pero no funciona como previsto.

Author: sbaaaang, 2012-05-23

5 answers

localStorage.clear();

Debería funcionar.

 347
Author: Lyn Headley,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-05-22 21:52:08

Si desea eliminar/limpiar todos los valores del almacenamiento local, use

localStorage.clear();

Y si desea eliminar el elemento específico del almacenamiento local, use el siguiente código

localStorage.removeItem(key);
 73
Author: Talha,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-05-24 04:30:45

Solo funcionó para mí en Firefox al acceder desde el objeto window.

Ejemplo...

window.onload = function()
{
 window.localStorage.clear();
}
 9
Author: John,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-09 11:17:40

Usando .one se asegura de que esto se haga solo una vez y no repetidamente.

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

Está bien poner varios documentos.listeners de eventos listos (si necesita que otros eventos se ejecuten varias veces) siempre y cuando no se exceda, por el bien de la legibilidad.

.one es especialmente útil cuando desea que el almacenamiento local se borre solo una vez que se abre una página web por primera vez o cuando se instala una aplicación móvil la primera vez.

   // Fired once when document is ready
   $(document).one('ready', function () {
       localStorage.clear();
   });
 5
Author: iOSAndroidWindowsMobileAppsDev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-12-05 07:47:09

Algo como esto debería hacer:

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

Tenga cuidado al usar esto, sin embargo, ya que el usuario puede tener otros datos almacenados en localStorage y probablemente estaría bastante marcado si eliminara eso. Recomendaría a) no almacenar los datos del usuario en localStorage o b) almacenar las cosas de la cuenta del usuario en una sola variable, y luego borrarlo en lugar de eliminar todas las claves en localStorage.


Editar : Como Lyn señaló, serás bueno con localStorage.clear(). Mis puntos anteriores todavía de pie, sin embargo.

 4
Author: Elliot Bonneville,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-05-22 21:49:59