Navigation: currententrychange event
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.
Das currententrychange
Ereignis der Navigation
Schnittstelle wird ausgelöst, wenn sich Navigation.currentEntry
geändert hat.
Dieses Ereignis wird bei folgenden Aktionen ausgelöst:
-
Navigationen im selben Dokument (z. B.
back()
odertraverseTo()
). -
Ersetzungen (d.h. ein Aufruf von
navigate()
mithistory
aufreplace
gesetzt). -
Andere Aufrufe, die den Zustand des Eintrags ändern (z. B.
updateCurrentEntry()
oder das History API mitHistory.replaceState()
).
Dieses Ereignis wird ausgelöst, nachdem die Navigation festgeschrieben wurde, was bedeutet, dass sich die sichtbare URL geändert hat und das NavigationHistoryEntry
aktualisiert wurde. Es ist nützlich für die Migration von der Verwendung älterer API-Funktionen wie der hashchange
oder popstate
Ereignisse.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener()
, oder setzen Sie eine Ereignishandler-Eigenschaft.
addEventListener("currententrychange", (event) => { })
oncurrententrychange = (event) => { }
Ereignistyp
Ein NavigationCurrentEntryChangeEvent
. Erbt von Event
.
Beispiele
Navigation Datenberichterstattung:
navigation.addEventListener("currententrychange", () => {
const data = navigation.currentEntry.getState();
submitAnalyticsData(data.analytics);
});
Einrichten eines ereignisgebundenen Handlers pro Eintrag:
navigation.addEventListener("currententrychange", () => {
navigation.currentEntry.addEventListener("dispose", genericDisposeHandler);
});
Spezifikationen
Specification |
---|
HTML # event-currententrychange |