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 vor der Verwendung auf produktiven Webseiten.
Die updateCurrentEntry()
-Methode des Navigation
-Interfaces aktualisiert den state
des currentEntry
; wird in Fällen verwendet, in denen die Statusänderung unabhängig von einer Navigation oder einem Neuladen erfolgt.
Syntax
updateCurrentEntry(options)
Parameter
options
-
Ein Options-Objekt, das die folgenden Eigenschaften enthält:
state
-
Entwicklerdefinierte Informationen, die im zugehörigen
NavigationHistoryEntry
gespeichert werden sollen, nachdem die Navigation abgeschlossen ist, abrufbar übergetState()
. Dies kann ein beliebiger Datentyp sein. Sie könnten beispielsweise die Anzahl der Seitenbesuche für Analysezwecke speichern oder Details des UI-Zustands speichern, sodass 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 enthielt, die nicht struktur-klonbar sind. InvalidStateError
DOMException
-
Wird ausgelöst, wenn der
Navigation.currentEntry
null
ist, d.h. es gibt keinen aktuellen Verlaufseintrag. Dies könnte beispielsweise der Fall sein, wenn die aktuelle Seiteabout:blank
ist.
Beispiele
Sie könnten etwas wie das Folgende verwenden, um den geöffneten/geschlossenen Zustand eines <details>
-Elements zu aktualisieren, sodass der Zustand beim Neuladen der Seite oder bei der Rückkehr von einem anderen Ort wiederhergestellt werden kann.
detailsElem.addEventListener("toggle", () => {
navigation.updateCurrentEntry({ state: { detailOpen: detailsElem.open } });
});
Spezifikationen
Specification |
---|
HTML # dom-navigation-updatecurrententry-dev |