Navigation: currententrychange 事件
當 Navigation 介面的 Navigation.currentEntry 發生變化時,會觸發 currententrychange 事件。
此事件將針對以下情況觸發:
-
同文檔導航(例如,
back()或traverseTo())。 -
替換(即,將
history設定為replace的navigate()呼叫)。 -
其他改變條目狀態的呼叫(例如,
updateCurrentEntry(),或 History API 的History.replaceState())。
此事件在導航提交後觸發,這意味著可見 URL 已更改,並且 NavigationHistoryEntry 已更新。這對於從使用舊 API 功能(如 hashchange 或 popstate 事件)遷移過來非常有用。
語法
在諸如 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 |
瀏覽器相容性
載入中…