NavigationCurrentEntryChangeEvent

有限可用性

此功能不是基线,因为它在一些最广泛使用的浏览器中无法正常工作。

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

NavigationCurrentEntryChangeEventNavigation API 的接口,它是 currententrychange 事件的事件对象,当 Navigation.currentEntry 发生更改时触发。

此事件会针对相同文档导航(例如 back()traverseTo())、替换(即带有 history 设置为 replacenavigate() 调用)或更改条目状态的其他调用(例如 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

浏览器兼容性

BCD 表格仅在浏览器中加载

参见