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
openerhat, istsessionStoragezunächst eine Kopie dessessionStorage-Objekts desopener. Die Objekte bleiben jedoch getrennt: Änderungen an einem wirken sich nicht auf das andere aus. Um das Kopieren vonsessionStoragezu verhindern, verwenden Sie eine der Methoden, dieopenerentfernen (sieheWindow.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
sessionStoragewerden gelöscht.
Wert
Ein Storage-Objekt, mit dem auf den Sitzungsspeicherbereich der aktuellen Origin zugegriffen werden kann.
Ausnahmen
SecurityErrorDOMException-
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:oderdata: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.
- Die Origin ist kein gültiges Schema-Host-Port-Tupel. Das kann beispielsweise der Fall sein, wenn die Origin das Schema
Beispiele
>Grundlegende Verwendung
// 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.
// 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> |