NavigationCurrentEntryChangeEvent
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
导航 API 的 NavigationCurrentEntryChangeEvent
接口是 currententrychange
事件的事件对象,该事件在 Navigation.currentEntry
发生更改时触发。
此事件将在以下情况下触发:同一文档导航(例如 back()
或 traverseTo()
)、替换(即 navigate()
调用,其中 history
设置为 replace
),或其他更改条目状态的调用(例如 updateCurrentEntry()
,或历史记录 API 的 History.replaceState()
)。
此事件在导航提交后触发,这意味着可见 URL 已更改,并且已发生 NavigationHistoryEntry
更新。它对于从使用较旧的 API 特性(如 hashchange
或 popstate
事件)迁移非常有用。
构造函数
-
创建一个新的
NavigationCurrentEntryChangeEvent
对象实例。
实例属性
从其父级 Event
继承属性。
from
只读 实验性-
返回导航来源的
NavigationHistoryEntry
。 -
返回导致改变的导航的类型。
示例
导航数据上报:
js
navigation.addEventListener("currententrychange", () => {
const data = navigation.currentEntry.getState();
submitAnalyticsData(data.analytics);
});
设置每个条目事件:
js
navigation.addEventListener("currententrychange", () => {
navigation.currentEntry.addEventListener("dispose", genericDisposeHandler);
});
规范
Specification |
---|
HTML Standard # the-navigationcurrententrychangeevent-interface |
浏览器兼容性
BCD tables only load in the browser
参见
- 现代客户端路由:导航 API
- 导航 API 说明
- Domenic Denicola 的导航 API 在线演示