Risposte:
Usa questo per cancellare localStorage:
localStorage.clear();
clear()
rimuoverà tutte le chiavi e i valori localStorage dal dominio specifico in cui ti trovi. Javascript non è in grado di ottenere i valori localStorage da altri domini a causa di CORS.
Se si desidera rimuovere un elemento o una variabile specifici dalla memoria locale dell'utente, è possibile utilizzare
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
Ecco una funzione che ti permetterà di rimuovere tutti gli oggetti localStorage con eccezioni. Sarà necessario jQuery per questa funzione. Puoi scaricare l'essenza .
Puoi chiamarlo così
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
è una chiave valida per setItem
egetItem
localStorage.setItem(undefined, 'example Txt!')
:, lo memorizzerà sotto la chiave chiamata 'undefined'
come si può vedere quando si esegue il codice seguente. console.log(localStorage.getItem('undefined'))
uscirà example Txt!
.
Localstorage è allegato al globale window
. Quando registriamo localstorage nei devtools di Chrome, vediamo che ha le seguenti API:
Possiamo usare le seguenti API per eliminare elementi:
localStorage.clear()
: Cancella l'intero archivio localelocalStorage.removeItem('myItem')
: Per rimuovere singoli elementiPer prima cosa, è necessario verificare per assicurarsi che localStorage sia abilitato. Consiglierei di farlo in questo modo:
var localStorageEnabled = false;
try { localStorageEnabled = !!localStorage; } catch(e) {};
Sì, puoi (in alcuni casi) semplicemente verificare se localStorage è un membro dell'oggetto window. Tuttavia, ci sono opzioni di sandboxing iframe (tra le altre cose) che genereranno un'eccezione se si tenta anche di accedere all'indice "localStorage". Pertanto, per motivi di buone pratiche, questo è il modo migliore per verificare se localStorage è abilitato. Quindi, puoi semplicemente cancellare localStorage in questo modo.
if (localStorageEnabled) localStorage.clear();
Ad esempio, è possibile cancellare localStorage dopo che si è verificato un errore nei browser Webkit in questo modo.
// clears the local storage upon error
if (localStorageEnabled)
window.onerror = localStorage.clear.bind(localStorage);
Nell'esempio sopra, è necessario il .bind(window)
perché senza di essa, la localStorage.clear
funzione verrà eseguita nel contesto window
dell'oggetto, invece che l' localStorage
oggetto lo fa fallire silenziosamente. Per dimostrarlo, guarda l'esempio seguente:
window.onerror = localStorage.clear;
equivale a:
window.onerror = function(){
localStorage.clear.call(window);
}
Quindi, se si desidera cancellare tutti gli elementi memorizzati in localStorage
localStorage.clear();
Utilizzare questo per cancellare tutta la chiave memorizzata.
Se si desidera cancellare / rimuovere solo chiave / valore specifici, è possibile utilizzare removeItem (chiave) .
localStorage.removeItem('yourKey');
localStorage.clear();
o
window.localStorage.clear();
per cancellare un elemento particolare
window.localStorage.removeItem("item_name");
Per rimuovere un valore particolare per 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;
}
});
Ecco un semplice codice che cancellerà il deposito locale memorizzato nel tuo browser usando 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>
Per confermare se localstorage è vuoto utilizzare questo codice:
<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>
se restituisce null, il tuo archivio locale viene cancellato.
Questo codice qui fornisce un elenco di stringhe di chiavi che non si desidera eliminare, quindi filtra quelle da tutte le chiavi nella memoria locale e quindi elimina le altre.
const allKeys = Object.keys(localStorage);
const toBeDeleted = allKeys.filter(value => {
return !this.doNotDeleteList.includes(value);
});
toBeDeleted.forEach(value => {
localStorage.removeItem(value);
});