Navigation: currententrychange 事件

可用性有限

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

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

Navigation 接口的 Navigation.currentEntry 发生变化时,会触发 currententrychange 事件。

此事件将针对以下情况触发:

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

语法

在诸如 addEventListener() 之类的方法中使用事件名称,或设置事件处理程序属性。

js
addEventListener("currententrychange", (event) => { })

oncurrententrychange = (event) => { }

事件类型

一个 NavigationCurrentEntryChangeEvent。继承自 Event

Event NavigationCurrentEntryChangeEvent

示例

导航数据报告

js
navigation.addEventListener("currententrychange", () => {
  const data = navigation.currentEntry.getState();
  submitAnalyticsData(data.analytics);
});

设置每个条目的事件

js
navigation.addEventListener("currententrychange", () => {
  navigation.currentEntry.addEventListener("dispose", genericDisposeHandler);
});

规范

规范
HTML
# event-currententrychange

浏览器兼容性

另见