2012-05-22 48 views
108

Necesito borrar todos los datos que configuré en localStorage. Con esto, me refiero a restablecer por completo localStorage a null cuando los usuarios eliminan sus cuentas.HTML5 - localStorage eliminar y borrar todos los datos

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

yo probamos este:

function clearLocalStorage(){ 
    return localStorage= null; 
} 

Pero no funciona como se esperaba.

+0

Consulte esto, puede que esto le ayuda [Almacenamiento local] (http://diveintohtml5.info/storage.html) – tilak

Respuesta

301

localStorage.clear();

debería funcionar.

+2

O eso. [texto adicional] –

+4

window.localStorage.clear(); // si se trabaja en ionic es decir –

+0

sessionStorage.clear(); para eliminar los datos de almacenamiento de la sesión. –

3

Algo como esto debería hacer:

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

tener cuidado al usar esto, sin embargo, ya que el usuario puede tener otros datos almacenados en localStorage y probablemente sería bastante marcada que si ha borrado. 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 borrar eso en lugar de eliminar todas las claves en localStorage.


Editar: Como se señaló Lyn, podrás bueno con localStorage.clear(). Mis puntos anteriores siguen en pie, sin embargo.

66

Si desea eliminar/limpiar todos los valores de almacenamiento local que utilizan

localStorage.clear(); 

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

localStorage.removeItem(key); 
4

El uso de .one garantiza que esto se haga solo una vez y no repetidamente.

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

Es bien poner varios detectores de eventos document.ready (si necesita otros eventos para ejecutar varias veces), siempre y cuando no se exceda, en aras 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 o cuando se instala una aplicación móvil la primera vez.

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

sólo funcionaba para mí en Firefox cuando se accede a él desde el objeto window.

Ejemplo ...

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