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
Report problems with this compatibility data on GitHubdesktop | mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
currententrychange event |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
- No support
- No support
- Experimental. Expect behavior to change in the future.
- See implementation notes.