Odpowiedzi:
Użyj tego, aby wyczyścić localStorage:
localStorage.clear();
clear()
usunie wszystkie klucze i wartości localStorage z konkretnej domeny, w której jesteś. JavaScript nie może pobrać wartości localStorage z żadnych innych domen z powodu CORS.
Jeśli chcesz usunąć określony Element lub zmienną z lokalnej pamięci użytkownika, możesz użyć
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
Oto funkcja, która pozwoli Ci usunąć wszystkie elementy localStorage z wyjątkami. Będziesz potrzebował jQuery dla tej funkcji. Możesz pobrać listę .
Możesz to tak nazwać
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
jest to ważny klucz do setItem
igetItem
localStorage.setItem(undefined, 'example Txt!')
spowoduje, że automatycznie zapisze go pod kluczem o nazwie, 'undefined'
jak widać po uruchomieniu następującego kodu. console.log(localStorage.getItem('undefined'))
wyjdzie example Txt!
.
Localstorage jest dołączony na całym świecie window
. Kiedy logujemy localstorage w chrome devtools, widzimy, że ma on następujące interfejsy API:
Do usuwania elementów możemy użyć następujących interfejsów API:
localStorage.clear()
: Czyści cały lokalny magazynlocalStorage.removeItem('myItem')
: Aby usunąć pojedyncze elementyPo pierwsze, musisz sprawdzić, aby upewnić się, że localStorage jest włączony. Poleciłbym zrobić to w ten sposób:
var localStorageEnabled = false;
try { localStorageEnabled = !!localStorage; } catch(e) {};
Tak, możesz (w niektórych przypadkach) po prostu sprawdzić, czy localStorage jest członkiem obiektu okna. Istnieją jednak opcje piaskownicy iframe (między innymi), które zgłoszą wyjątek, nawet jeśli spróbujesz uzyskać dostęp do indeksu „localStorage”. Dlatego, ze względu na najlepsze praktyki, jest to najlepszy sposób, aby sprawdzić, czy localStorage jest włączony. Następnie możesz po prostu wyczyścić localStorage w ten sposób.
if (localStorageEnabled) localStorage.clear();
Na przykład, możesz wyczyścić localStorage po wystąpieniu błędu w takich przeglądarkach webkit.
// clears the local storage upon error
if (localStorageEnabled)
window.onerror = localStorage.clear.bind(localStorage);
W powyższym przykładzie potrzebujesz, .bind(window)
ponieważ bez niego localStorage.clear
funkcja będzie działać w kontekście window
obiektu, zamiast localStorage
obiektu powodując jego cichą awarię. Aby to zademonstrować, spójrz na poniższy przykład:
window.onerror = localStorage.clear;
jest taki sam jak:
window.onerror = function(){
localStorage.clear.call(window);
}
Jeśli chcesz usunąć wszystkie elementy przechowywane w localStorage, to
localStorage.clear();
Użyj tego do wyczyszczenia wszystkich przechowywanych kluczy.
Jeśli chcesz wyczyścić / usunąć tylko określony klucz / wartość, możesz użyć removeItem (klucz) .
localStorage.removeItem('yourKey');
localStorage.clear();
lub
window.localStorage.clear();
wyczyścić konkretny element
window.localStorage.removeItem("item_name");
Aby usunąć określoną wartość według identyfikatora:
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;
}
});
Oto prosty kod, który wyczyści pamięć lokalną przechowywaną w przeglądarce za pomocą 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>
Aby potwierdzić, czy pamięć lokalna jest pusta, użyj tego kodu:
<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>
jeśli zwróci null, lokalne zapisywanie zostanie wyczyszczone.
Ten kod podaje tutaj listę ciągów kluczy, których nie chcesz usunąć, a następnie odfiltrowuje je ze wszystkich kluczy w pamięci lokalnej, a następnie usuwa pozostałe.
const allKeys = Object.keys(localStorage);
const toBeDeleted = allKeys.filter(value => {
return !this.doNotDeleteList.includes(value);
});
toBeDeleted.forEach(value => {
localStorage.removeItem(value);
});