导航:updateCurrentEntry() 方法
Navigation 接口的 updateCurrentEntry() 方法会更新 currentEntry 的 state;在状态更改独立于导航或重新加载的情况下使用。
语法
js
updateCurrentEntry(options)
参数
options-
一个包含以下属性的选项对象
state-
在导航完成后要存储在关联的
NavigationHistoryEntry中的开发者定义的信息,可以通过getState()检索。这可以是任何数据类型。例如,您可能希望存储页面访问次数以用于分析,或者存储 UI 状态详细信息,以便可以显示用户上次离开时的视图。存储在state中的任何数据都必须是 结构化克隆 的。
返回值
无 (undefined)。
异常
DataCloneErrorDOMException-
如果
state参数包含的值不是结构化克隆的,则抛出此错误。 InvalidStateErrorDOMException-
如果
Navigation.currentEntry为null,则会抛出此异常,即没有当前历史记录条目。例如,如果当前页面是about:blank,则可能发生这种情况。
示例
您可以使用类似以下的代码来更新 <details> 元素的打开/关闭状态,以便在重新加载页面或从其他地方返回时能够恢复该状态。
js
detailsElem.addEventListener("toggle", () => {
navigation.updateCurrentEntry({ state: { detailOpen: detailsElem.open } });
});
规范
| 规范 |
|---|
| HTML # dom-navigation-updatecurrententry-dev |
浏览器兼容性
加载中…