Ich muss alle Daten löschen, die ich in localStorage
gesetzt habe. Damit meine ich das vollständige Zurücksetzen von localStorage
auf null
, wenn Benutzer ihre Konten entfernen.
Wie kann ich das mit einer einfachen Funktion machen?
Ich habe es versucht:
function clearLocalStorage(){
return localStorage= null;
}
Aber es funktioniert nicht wie erwartet.
localStorage.clear();
sollte arbeiten.
Wenn Sie alle Werte aus dem lokalen Speicher entfernen/bereinigen möchten, verwenden Sie
localStorage.clear();
Wenn Sie ein bestimmtes Objekt aus dem lokalen Speicher entfernen möchten, verwenden Sie den folgenden Code
localStorage.removeItem(key);
In Firefox hat es nur funktioniert, wenn ich über das Objekt window
darauf zugegriffen habe.
Beispiel...
window.onload = function()
{
window.localStorage.clear();
}
Mit .one
stellt sicher, dass dies nur einmal und nicht wiederholt durchgeführt wird.
$(window).one("focus", function() {
localStorage.clear();
});
Es ist in Ordnung, mehrere document.ready-Ereignis-Listener (wenn Sie andere Ereignisse mehrmals ausführen müssen) zu platzieren, sofern Sie dies aus Gründen der Lesbarkeit nicht übertreiben.
.one
ist besonders nützlich, wenn der lokale Speicher nur beim ersten Öffnen einer Webseite oder bei der erstmaligen Installation einer mobilen Anwendung gelöscht werden soll.
// Fired once when document is ready
$(document).one('ready', function () {
localStorage.clear();
});
So etwas sollte funktionieren:
function cleanLocalStorage() {
for(key in localStorage) {
delete localStorage[key];
}
}
Seien Sie jedoch vorsichtig bei der Verwendung, da der Benutzer möglicherweise andere Daten in localStorage
gespeichert hat und wahrscheinlich ziemlich angekreuzt wäre, wenn Sie dies löschen würden. Ich würde empfehlen, entweder a) die Daten des Benutzers nicht in localStorage
zu speichern oder b) die Kontodaten des Benutzers in einer einzigen Variablen zu speichern und diese zu löschen, anstatt alle Schlüssel in localStorage
zu löschen.
Bearbeiten: Wie Lyn betont hat, beherrschen Sie localStorage.clear()
. Meine bisherigen Punkte bleiben jedoch bestehen.