Navigation:currententrychange 事件
        
        
          Limited availability
        
        
        
          
                
              
                
              
                
              
        
        
      
      This feature is not Baseline because it does not work in some of the most widely-used browsers.
Navigation 接口的 currententrychange 事件在 Navigation.currentEntry 发生更改时触发。
此事件将会在如下情况发生时触发:
- 
同文档导航(例如 back()或traverseTo())。
- 
替换(即 navigate()调用,并将history参数设置为replace)。
- 
更改条目状态的其他调用(例如 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);
});
规范
| Specification | 
|---|
| HTML> # event-currententrychange> | 
浏览器兼容性
Loading…
参见
- 现代客户端路由:导航 API
- 导航 API 说明
- Domenic Denicola 的导航 API 在线演示