503 Stimmen

Wie kann man ein localStorage-Element löschen, wenn das Browserfenster/der Tab geschlossen wird?

Mein Fall: localStorage mit Schlüssel + Wert, der gelöscht werden soll, wenn der Browser geschlossen wird und nicht ein einzelner Tab.

Bitte sehen Sie sich meinen Code an, ob er richtig ist und was verbessert werden kann:

//create localStorage key + value if not exist
if (localStorage) {
  localStorage.myPageDataArr = {
    "name" => "Dan",
    "lastname" => "Bonny"
  };
}

//when browser closed - psedocode
$(window).unload(function() {
  localStorage.myPageDataArr = undefined;
});

942voto

Ben Punkte 24432

Sollte auf diese Weise und nicht mit dem Löschoperator durchgeführt werden:

localStorage.removeItem(key);

120voto

Graou13 Punkte 1295

Sie sollten stattdessen sessionStorage verwenden, wenn Sie wollen, dass der Schlüssel beim Schließen des Browsers gelöscht wird.

116voto

vineet Punkte 12507

Verwendung mit window globales Schlüsselwort:-

 window.localStorage.removeItem('keyName');

108voto

MT. Punkte 1917

Sie können die beforeunload Ereignis in JavaScript.

Mit Vanilla-JavaScript könnten Sie etwa so vorgehen:

window.onbeforeunload = function() {
  localStorage.removeItem(key);
  return '';
};

Dadurch wird der Schlüssel gelöscht, bevor das Browserfenster/der Tab geschlossen wird, und Sie werden aufgefordert, das Schließen des Fensters/Tabs zu bestätigen. Ich hoffe, damit ist Ihr Problem gelöst.

HINWEIS: Die onbeforeunload Methode sollte eine Zeichenkette zurückgeben.

14voto

William Cauich Punkte 151
localStorage.removeItem(key);  //item

localStorage.clear(); //all items

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X