Navigation: currententrychange 事件
当 Navigation 接口的 Navigation.currentEntry 发生变化时,会触发 currententrychange 事件。
此事件将针对以下情况触发:
-
同文档导航(例如,
back()或traverseTo())。 -
替换(即,将
history设置为replace的navigate()调用)。 -
其他改变条目状态的调用(例如,
updateCurrentEntry(),或 History API 的History.replaceState())。
此事件在导航提交后触发,这意味着可见 URL 已更改,并且 NavigationHistoryEntry 已更新。这对于从使用旧 API 功能(如 hashchange 或 popstate 事件)迁移过来非常有用。
语法
在诸如 addEventListener() 之类的方法中使用事件名称,或设置事件处理程序属性。
js
addEventListener("currententrychange", (event) => { })
oncurrententrychange = (event) => { }
事件类型
示例
导航数据报告
js
navigation.addEventListener("currententrychange", () => {
const data = navigation.currentEntry.getState();
submitAnalyticsData(data.analytics);
});
设置每个条目的事件
js
navigation.addEventListener("currententrychange", () => {
navigation.currentEntry.addEventListener("dispose", genericDisposeHandler);
});
规范
| 规范 |
|---|
| HTML # event-currententrychange |
浏览器兼容性
加载中…