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, bevor Sie diese produktiv verwenden.
Das currententrychange
-Ereignis der Navigation
-Schnittstelle wird ausgelöst, wenn sich die Navigation.currentEntry
geändert hat.
Dieses Ereignis wird ausgelöst für:
-
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 dieHistory API
mitHistory.replaceState()
).
Dieses Ereignis wird ausgelöst, nachdem die Navigation festgeschrieben wurde, was bedeutet, dass sich die sichtbare URL geändert hat und die Aktualisierung des NavigationHistoryEntry
erfolgt ist. Es ist nützlich für die Migration von der Nutzung ä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
Berichterstattung von Navigationsdaten:
navigation.addEventListener("currententrychange", () => {
const data = navigation.currentEntry.getState();
submitAnalyticsData(data.analytics);
});
Einrichten eines ereignisbasierten Zugriffs pro Eintrag:
navigation.addEventListener("currententrychange", () => {
navigation.currentEntry.addEventListener("dispose", genericDisposeHandler);
});
Spezifikationen
Specification |
---|
HTML Standard # event-currententrychange |
Browser-Kompatibilität
BCD tables only load in the browser