Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Window: sessionStorage-Eigenschaft

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.

Die schreibgeschützte Eigenschaft sessionStorage ermöglicht den Zugriff auf ein Storage-Objekt für die aktuelle Origin. sessionStorage ähnelt localStorage. Der Unterschied besteht darin, dass localStorage nur nach Origin aufgeteilt ist, sessionStorage hingegen sowohl nach Origin als auch nach Browser-Tab (Top-Level-Browsing-Kontext). Die Daten in sessionStorage bleiben nur für die Dauer der Seitensitzung erhalten.

  • Wenn ein Dokument in einem bestimmten Browser-Tab geladen wird, wird für diesen Tab eine eigene Seitensitzung erstellt. Auf diese Seitensitzung kann nur über diesen Tab zugegriffen werden. Das Hauptdokument und alle eingebetteten Browsing-Kontexte (iframes) werden nach ihrer Origin gruppiert. Jede Origin hat Zugriff auf ihren eigenen, separaten Speicherbereich.
  • Wenn die Seite einen opener hat, ist sessionStorage zunächst eine Kopie des sessionStorage-Objekts des opener. Die Objekte bleiben jedoch getrennt: Änderungen an einem wirken sich nicht auf das andere aus. Um das Kopieren von sessionStorage zu verhindern, verwenden Sie eine der Methoden, die opener entfernen (siehe Window.opener).
  • Eine Seitensitzung dauert an, solange der Tab oder der Browser geöffnet ist. Sie bleibt auch beim Neuladen und Wiederherstellen der Seite bestehen.
  • Wenn eine Seite in einem neuen Tab oder Fenster geöffnet wird, entsteht eine neue Sitzung mit dem Wert des Top-Level-Browsing-Kontexts. Darin unterscheidet sich dieses Verhalten von Sitzungscookies.
  • Durch das Schließen des Tabs oder Fensters endet die Sitzung, und die Daten in sessionStorage werden gelöscht.

Wert

Ein Storage-Objekt, mit dem auf den Sitzungsspeicherbereich der aktuellen Origin zugegriffen werden kann.

Ausnahmen

SecurityError DOMException

Wird in einem der folgenden Fälle ausgelöst:

  • Die Origin ist kein gültiges Schema-Host-Port-Tupel. Das kann beispielsweise der Fall sein, wenn die Origin das Schema file: oder data: verwendet.
  • Die Anfrage verstößt gegen eine Sicherheitsrichtlinie. Beispielsweise hat der Benutzer den Browser so konfiguriert, dass die Seite keine Daten dauerhaft speichern darf.

Beachten Sie, dass Browser das Blockieren von Cookies wahrscheinlich als Anweisung interpretieren, die dauerhafte Speicherung von Daten durch die Seite zu verhindern.

Beispiele

Grundlegende Verwendung

js
// Save data to sessionStorage
sessionStorage.setItem("key", "value");

// Get saved data from sessionStorage
let data = sessionStorage.getItem("key");

// Remove saved data from sessionStorage
sessionStorage.removeItem("key");

// Remove all saved data from sessionStorage
sessionStorage.clear();

Text beim Neuladen speichern

Das folgende Beispiel speichert den Inhalt eines Textfelds automatisch. Wenn der Browser neu geladen wird, stellt es den Inhalt des Textfelds wieder her, sodass kein eingegebener Text verloren geht.

js
// Get the text field that we're going to track
let field = document.getElementById("field");

// See if we have an autosave value
// (this will only happen if the page is accidentally refreshed)
if (sessionStorage.getItem("autosave")) {
  // Restore the contents of the text field
  field.value = sessionStorage.getItem("autosave");
}

// Listen for changes in the text field
field.addEventListener("change", () => {
  // And save the results into the session storage object
  sessionStorage.setItem("autosave", field.value);
});

Hinweis: Ein vollständiges Beispiel finden Sie im Artikel Die Web Storage API verwenden.

Spezifikationen

Spezifikation
HTML
# dom-sessionstorage-dev

Browser-Kompatibilität

Siehe auch