Navigation: currententrychange event
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The currententrychange
event of the Navigation
interface is fired when the Navigation.currentEntry
has changed.
This event will fire for:
- Same-document navigations (e.g.
back()
ortraverseTo()
). - Replacements (i.e. a
navigate()
call withhistory
set toreplace
). - Other calls that change the entry's state (e.g.
updateCurrentEntry()
, or the History API'sHistory.replaceState()
).
This event fires after the navigation is committed, meaning that the visible URL has changed and the NavigationHistoryEntry
update has occurred. It is useful for migrating from usage of older API features like the hashchange
or popstate
events.
Syntax
Use the event name in methods like addEventListener()
, or set an event handler property.
addEventListener("currententrychange", (event) => {});
oncurrententrychange = (event) => {};
Event type
A NavigationCurrentEntryChangeEvent
. Inherits from Event
.
Examples
Navigation data reporting:
navigation.addEventListener("currententrychange", () => {
const data = navigation.currentEntry.getState();
submitAnalyticsData(data.analytics);
});
Setting up a per-entry event:
navigation.addEventListener("currententrychange", () => {
navigation.currentEntry.addEventListener("dispose", genericDisposeHandler);
});
Specifications
Specification |
---|
HTML Standard # event-currententrychange |
Browser compatibility
BCD tables only load in the browser