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
; verwendet in Fällen, in denen der Zustandswechsel unabhängig von einer Navigation oder einem Neuladen erfolgt.
Syntax
updateCurrentEntry(options)
Parameter
options
-
Ein Optionsobjekt, das die folgenden Eigenschaften enthält:
state
-
Entwicklerdefinierte Informationen, die im zugehörigen
NavigationHistoryEntry
gespeichert werden sollen, sobald die Navigation abgeschlossen ist, und übergetState()
abgerufen werden können. Dies kann jeder Datentyp sein. Sie könnten beispielsweise 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 instate
gespeicherten Daten müssen strukturiert klonbar sein.
Rückgabewert
Keiner (undefined
).
Ausnahmen
DataCloneError
DOMException
-
Wird ausgelöst, wenn der
state
Parameter Werte enthält, die nicht strukturiert klonbar sind. InvalidStateError
DOMException
-
Wird ausgelöst, wenn der
Navigation.currentEntry
null
ist, d.h. es gibt keinen aktuellen Verlaufs-Eintrag. Dies könnte zum Beispiel vorkommen, wenn die aktuelle Seiteabout:blank
ist.
Beispiele
Sie könnten etwas Ähnliches wie das Folgende verwenden, um den geöffneten/geschlossenen Zustand eines <details>
Elements zu aktualisieren, sodass der Zustand beim Neuladen der Seite oder beim Zurücknavigieren von einer anderen Stelle 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