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

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

js
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

Siehe auch