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; 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 Standard
# dom-navigation-updatecurrententry-dev

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch