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

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

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

Spezifikationen

Specification
HTML
# dom-navigation-updatecurrententry-dev

Browser-Kompatibilität

Siehe auch