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

js
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 über getState() 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 in state 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 Seite about: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.

js
detailsElem.addEventListener("toggle", () => {
  navigation.updateCurrentEntry({ state: { detailOpen: detailsElem.open } });
});

Spezifikationen

Specification
HTML
# dom-navigation-updatecurrententry-dev

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
updateCurrentEntry
Experimental

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.
See implementation notes.

Siehe auch