Question Effacer localStorage en javascript?


Est-il possible de réinitialiser / effacer localStorage du navigateur en javascript?


590
2017-10-05 21:26


origine


Réponses:


Utilisez ceci pour effacer localStorage:

localStorage.clear();

1107
2017-10-05 21:28



Si vous souhaitez supprimer un élément ou une variable spécifique du stockage local de l'utilisateur, vous pouvez utiliser

localStorage.removeItem("name of localStorage variable you want to remove");

138
2017-08-22 06:05



window.localStorage.clear(); //try this to clear all local storage

98
2017-10-05 21:28



je pense clear(); supprimer toutes les données de stockage locales, mais si vous devez supprimer un seul élément, vous pouvez utiliser:

window.localStorage.removeItem("item_name");

22
2018-01-26 17:14



Voici une fonction qui vous permettra de supprimer tous les éléments de localStorage avec des exceptions. Tu auras besoin de jQuery pour cette fonction. Vous pouvez télécharger l'essentiel.

Vous pouvez l'appeler comme ça

let clearStorageExcept = function(exceptions) {
  let keys = [];
  exceptions = [].concat(exceptions); // prevent undefined

  // get storage keys
  $.each(localStorage, (key) => {
    keys.push(key);
  });

  // loop through keys
  for (let i = 0; i < keys.length; i++) {
    let key = keys[i];
    let deleteItem = true;

    // check if key excluded
    for (let j = 0; j < exceptions.length; j++) {
      let exception = exceptions[j];
      if (key == exception) {
        deleteItem = false;
      }
    }

    // delete key
    if (deleteItem) {
      localStorage.removeItem(key);
    }
  }
};

10
2018-04-04 19:07



Tout d'abord, vous devez vérifier que localStorage est activé. Je recommanderais de le faire comme ceci:

var localStorageEnabled = false;
try { localStorageEnabled = !!localStorage; } catch(e) {};

Oui, vous pouvez (dans certains cas) vérifier simplement si localStorage est membre de l'objet window. Cependant, il existe des options iframe sandboxing (entre autres choses) qui lanceront une exception si vous essayez même d'accéder à l'index 'localStorage'. Ainsi, pour des raisons de bonnes pratiques, c'est le meilleur moyen de vérifier si localStorage est activé. Ensuite, vous pouvez effacer le localStorage comme ça.

if (localStorageEnabled) localStorage.clear();

Par exemple, vous pouvez effacer localStorage après qu'une erreur se soit produite dans les navigateurs Webkit.

// clears the local storage upon error
if (localStorageEnabled)
  window.onerror = localStorage.clear.bind(localStorage);

Dans l'exemple ci-dessus, vous avez besoin de .bind(window) parce que sans elle, le localStorage.clear fonction fonctionnera dans le contexte de la window objet, au lieu de localStorage objet qui le fait échouer silencieusement. Pour le démontrer, regardez l'exemple ci-dessous:

window.onerror = localStorage.clear;

est le même que:

window.onerror = function(){
    localStorage.clear.call(window);
}

3
2018-03-23 00:01



// assurez-vous d'installer le paquet 'store' https://www.npmjs.com/package/store

import 'store' from 'store';

// puis dans votre code ajoutez ces 2 lignes:

store.clearAll();
localStorage.clear();

-2
2018-04-10 19:20