导航:currententrychange 事件

有限可用性

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

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

currententrychange 事件是 Navigation 接口的一个事件,当 Navigation.currentEntry 发生变化时触发。

此事件将在以下情况下触发

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

语法

在诸如 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);
});

规范

规范
HTML 标准
# event-currententrychange

浏览器兼容性

BCD 表仅在启用 JavaScript 的浏览器中加载。

另请参阅