Navigation: reload() 方法
Navigation 接口的 reload() 方法会重新加载当前 URL,并更新历史条目列表中的任何提供的状态。
语法
js
reload()
reload(options)
参数
options可选-
一个包含以下属性的选项对象
state可选-
在导航完成后要存储在关联的
NavigationHistoryEntry中的开发者定义的信息,可以通过getState()检索。这可以是任何数据类型。例如,您可能希望存储页面访问次数以用于分析,或者存储 UI 状态详细信息,以便可以显示用户上次离开时的视图。存储在state中的任何数据都必须是 结构化克隆 的。 info可选-
要传递给
navigate事件的开发者定义的信息,可在NavigateEvent.info中访问。这可以是任何数据类型。例如,您可能希望根据内容的导航方式(左滑、右滑或主页)以不同的动画显示新导航的内容。可以将指示使用哪种动画的字符串作为info传递。
返回值
具有以下属性的对象:
committed-
一个
Promise,当可见 URL 已更改且已创建新的NavigationHistoryEntry时,它将fulfilled。 finished-
一个
Promise,当intercept()处理程序返回的所有 Promise 都 fulfilled 时,它将 fulfilled。这相当于NavigationTransition.finishedPromise fulfilled,当navigatesuccess事件触发时。
如果导航因某种原因失败,则这两个 Promise 中的任何一个都会 rejected。
异常
DataCloneErrorDOMException-
如果
state参数包含的值不是结构化克隆的,则抛出此错误。
示例
使用信息和状态
js
async function handleReload() {
await navigation.reload({
info: { animation: "fade-in" },
state: { infoPaneOpen: true },
}).finished;
// Update application state
// …
}
重新加载页面并添加新的状态项
js
async function handleReload() {
await navigation.reload({
state: { ...navigation.currentEntry.getState(), newState: 3 },
}).finished;
// Update application state
// …
}
规范
| 规范 |
|---|
| HTML # dom-navigation-reload-dev |
浏览器兼容性
加载中…