Réponses:
Utilisez ceci pour effacer localStorage:
localStorage.clear();
clear()
supprimera toutes les clés et valeurs localStorage du domaine spécifique sur lequel vous vous trouvez. Javascript n'est pas en mesure d'obtenir des valeurs localStorage à partir d'autres domaines en raison de CORS.
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");
var key; for (var i = 0; i < localStorage.length; i++) { key = localStorage.key(i); if(key != particularKey){ localStorage.removeItem(key); } }
let tmp = localStorage.getItem('<your-name>'); localStorage.clear(); localStorage.setItem('<your-name>')
window.localStorage.clear(); //try this to clear all local storage
Voici une fonction qui vous permettra de supprimer tous les éléments localStorage avec des exceptions. Vous aurez 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);
}
}
};
undefined
est étrange, c'est que c'est une clé valide pour setItem
etgetItem
localStorage.setItem(undefined, 'example Txt!')
:, le stockera en fait sous la clé appelée 'undefined'
comme vous pouvez le voir lorsque vous exécutez le code suivant. console.log(localStorage.getItem('undefined'))
sortira example Txt!
.
Localstorage est attaché sur le global window
. Lorsque nous enregistrons localstorage dans les devtools de chrome, nous constatons qu'il possède les API suivantes:
Nous pouvons utiliser les API suivantes pour supprimer des éléments:
localStorage.clear()
: Efface tout le stockage locallocalStorage.removeItem('myItem')
: Pour supprimer des éléments individuelsTout d'abord, vous devez vérifier pour vous assurer 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) simplement vérifier si le localStorage est membre de l'objet window. Cependant, il existe des options de sandboxing iframe (entre autres) qui lèveront une exception si vous essayez même d'accéder à l'index 'localStorage'. Ainsi, pour des raisons de bonnes pratiques, c'est la meilleure façon de vérifier si le localStorage est activé. Ensuite, vous pouvez simplement effacer le localStorage comme ça.
if (localStorageEnabled) localStorage.clear();
Par exemple, vous pouvez effacer le localStorage après qu'une erreur se soit produite dans les navigateurs webkit comme ça.
// clears the local storage upon error
if (localStorageEnabled)
window.onerror = localStorage.clear.bind(localStorage);
Dans l'exemple ci-dessus, vous avez besoin du .bind(window)
car sans lui, la localStorage.clear
fonction s'exécutera dans le contexte de l' window
objet, au lieu de l' localStorage
objet, ce qui le rendra silencieux. 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);
}
Si vous voulez effacer tout élément que vous stockés dans localStorage puis
localStorage.clear();
Utilisez-le pour effacer toutes les clés enregistrées.
Si vous souhaitez effacer / supprimer uniquement une clé / valeur spécifique, vous pouvez utiliser removeItem (clé) .
localStorage.removeItem('yourKey');
localStorage.clear();
ou
window.localStorage.clear();
pour effacer un élément particulier
window.localStorage.removeItem("item_name");
Pour supprimer une valeur particulière par id:
var item_detail = JSON.parse(localStorage.getItem("key_name")) || [];
$.each(item_detail, function(index, obj){
if (key_id == data('key')) {
item_detail.splice(index,1);
localStorage["key_name"] = JSON.stringify(item_detail);
return false;
}
});
Voici un code simple qui effacera le stockage local stocké dans votre navigateur en utilisant javascript
<script type="text/javascript">
if(localStorage) { // Check if the localStorage object exists
localStorage.clear() //clears the localstorage
} else {
alert("Sorry, no local storage."); //an alert if localstorage is non-existing
}
</script>
Pour confirmer si localstorage est vide, utilisez ce code:
<script type="text/javascript">
// Check if the localStorage object exists
if(localStorage) {
alert("Am still here, " + localStorage.getItem("your object name")); //put the object name
} else {
alert("Sorry, i've been deleted ."); //an alert
}
</script>
s'il renvoie null, votre stockage local est effacé.
Ce code vous donne ici une liste de chaînes de clés que vous ne voulez pas supprimer, puis il filtre celles de toutes les clés du stockage local puis supprime les autres.
const allKeys = Object.keys(localStorage);
const toBeDeleted = allKeys.filter(value => {
return !this.doNotDeleteList.includes(value);
});
toBeDeleted.forEach(value => {
localStorage.removeItem(value);
});