Navigation: updateCurrentEntry() Methode
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.
Die updateCurrentEntry()
-Methode des Navigation
-Interfaces aktualisiert den state
des currentEntry
; dies wird in Fällen verwendet, in denen die Zustandsänderung unabhängig von einer Navigation oder einem Neuladen erfolgt.
Syntax
updateCurrentEntry()
updateCurrentEntry(options)
Parameter
options
Optional-
Ein Optionsobjekt, das die folgenden Eigenschaften enthält:
state
-
Vom Entwickler definierte Informationen, die im zugehörigen
NavigationHistoryEntry
gespeichert werden sollen, sobald die Navigation abgeschlossen ist, und abrufbar übergetState()
. Dies kann ein beliebiger Datentyp sein. Sie möchten beispielsweise möglicherweise die Anzahl der Seitenbesuche für Analysezwecke speichern oder UI-Zustandsdetails speichern, damit die Ansicht genau so angezeigt werden kann, wie der Benutzer sie zuletzt verlassen hat. Alle imstate
gespeicherten Daten müssen struktur-klonbar sein.
Rückgabewert
Keiner (undefined
).
Ausnahmen
DataCloneError
DOMException
-
Wird ausgelöst, wenn der
state
-Parameter Werte enthält, die nicht struktur-klonbar sind. InvalidStateError
DOMException
-
Wird ausgelöst, wenn das
Navigation.currentEntry
null
ist, d. h. es gibt keinen aktuellen Verlaufseintrag. Dies könnte zum Beispiel auftreten, wenn die aktuelle Seiteabout:blank
ist.
Beispiele
Sie könnten etwa Folgendes verwenden, um den offenen/geschlossenen Zustand eines <details>
-Elements zu aktualisieren, sodass der Zustand beim Neuladen der Seite oder beim Zurückkehren von anderswoher wiederhergestellt werden kann.
detailsElem.addEventListener("toggle", () => {
navigation.updateCurrentEntry({ state: { detailOpen: detailsElem.open } });
});
Spezifikationen
Specification |
---|
HTML Standard # dom-navigation-updatecurrententry-dev |
Browser-Kompatibilität
BCD tables only load in the browser