web-dev-qa-db-fra.com

HTML5 - localStorage supprimer et effacer toutes les données

Je dois effacer toutes les données que j'ai définies dans localStorage. Par cela, j'entends complètement réinitialiser localStorage à null lorsque les utilisateurs suppriment leurs comptes.

Comment puis-je faire cela avec une fonction simple?

J'ai essayé ceci:

function clearLocalStorage(){
    return localStorage= null;
}

Mais cela ne fonctionne pas comme prévu.

142
itsme

localStorage.clear();

devrait marcher.

387
Lyn Headley

Si vous souhaitez supprimer/nettoyer toutes les valeurs du stockage local, utilisez plutôt

localStorage.clear();

Et si vous souhaitez supprimer l'élément spécifique du stockage local, utilisez le code suivant

localStorage.removeItem(key);
83
Talha

Cela ne fonctionnait que dans Firefox lorsque j'y accédais à partir de l'objet window.

Exemple...

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

En utilisant .one, vous vous assurez que cela n’est fait qu’une fois, et non de manière répétée.

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

Vous pouvez placer plusieurs écouteurs d'événement document.ready (si vous avez besoin que d'autres événements s'exécutent plusieurs fois), à condition de ne pas en faire trop, par souci de lisibilité.

.one est particulièrement utile lorsque vous souhaitez que le stockage local ne soit effacé qu'une seule fois lors de la première ouverture d'une page Web ou lors de la première installation d'une application mobile.

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

Quelque chose comme ça devrait faire:

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

Faites attention cependant, car l'utilisateur peut avoir d'autres données stockées dans localStorage et serait probablement très coché si vous supprimiez cela. Je recommanderais soit a) de ne pas stocker les données de l'utilisateur dans localStorage, soit b) de stocker le contenu du compte de l'utilisateur dans une seule variable, puis de l'effacer au lieu de supprimer toutes les clés de localStorage.


Edit: Comme Lyn l'a souligné, vous serez bon avec localStorage.clear(). Mes points précédents restent toutefois valables.

4