NavigationCurrentEntryChangeEvent

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

NavigationCurrentEntryChangeEvent 接口是 Navigation API 的事件对象,用于 currententrychange 事件,当 Navigation.currentEntry 发生更改时会触发此事件。

当发生同文档导航(例如,back()traverseTo())、替换(即,调用 navigate() 时将 history 设置为 replace)或其他更改条目状态的调用(例如,updateCurrentEntry()History APIHistory.replaceState())时,都会触发此事件。

此事件在导航提交后触发,这意味着可见 URL 已更改且 NavigationHistoryEntry 更新已发生。它对于迁移使用旧 API 功能(如 hashchangepopstate 事件)非常有用。

Event NavigationCurrentEntryChangeEvent

构造函数

创建一个新的 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);
});

规范

规范
HTML
# the-navigationcurrententrychangeevent-interface

浏览器兼容性

另见