2012-05-22 17 views
108

Devo cancellare tutti i dati impostati su localStorage. Con questo, intendo completamente resettare localStorage a null quando gli utenti rimuovono i loro account.HTML5 - localStorage rimuove e cancella tutti i dati

Come posso farlo con una semplice funzione?

ho provato questo:

function clearLocalStorage(){ 
    return localStorage= null; 
} 

Ma non funziona come previsto.

+0

consultare questo, può questo aiuta a [di archiviazione locale] (http://diveintohtml5.info/storage.html) – tilak

risposta

301

localStorage.clear();

dovrebbe funzionare.

+2

o quello. [testo extra] –

+4

window.localStorage.clear(); // se si lavora su ionic i.e –

+0

sessionStorage.clear(); per rimuovere i dati di archiviazione della sessione. –

3

Qualcosa del genere dovrebbe fare:

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

stare attenti a utilizzare questo, però, come l'utente potrebbe avere altri dati memorizzati in localStorage e probabilmente sarebbe abbastanza spuntata se avete cancellato quello. Raccomanderei a) di non memorizzare i dati dell'utente in localStorage o b) di archiviare gli elementi dell'account dell'utente in una singola variabile e quindi di cancellare quello invece di eliminare tutte le chiavi in ​​localStorage.


Edit: Come Lyn ha sottolineato, sarete pronti con localStorage.clear(). I miei punti precedenti rimangono validi, comunque.

66

Se si desidera rimuovere/pulire tutti i valori dalla memoria locale che utilizzano

localStorage.clear(); 

E se si desidera rimuovere l'elemento specifico dalla memoria locale di utilizzare il seguente codice di

localStorage.removeItem(key); 
4

L'utilizzo di .one garantisce che ciò avvenga solo una volta e non ripetutamente.

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

E 'bene mettere diversi listener di eventi document.ready (se avete bisogno di altri eventi per eseguire più volte) fino a quando non esagerare, per il bene di leggibilità.

.one è particolarmente utile quando si desidera che la memoria locale venga cancellata solo una volta la prima volta che una pagina Web viene aperta o quando un'applicazione mobile viene installata per la prima volta.

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

ha funzionato solo per me in Firefox quando si accede dall'oggetto window.

Esempio ...

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