Navigation:back() 方法
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Navigation 接口的 back() 方法在导航历史记录中向后导航一个条目。
语法
js
back(options)
参数
options可选-
包含以下属性的选项对象:
info可选-
开发人员定义的信息,将传递给
navigate事件,可在NavigateEvent.info中获取。这可以是任何数据类型。例如,你可能希望根据导航方式(向左滑动、向右滑动或返回主页)以不同的动画显示新导航的内容。可以传入一个字符串来指示要使用哪种动画,该字符串可作为info传入。
返回值
具有以下属性的对象:
committed-
当可见 URL 发生改变并且新的
NavigationHistoryEntry被创建时,将兑现的Promise。 finished-
当
intercept()处理器返回的所有 promise 都被兑现时,将兑现的Promise。这相当于当navigatesuccess事件触发时,兑现NavigationTransition.finishedpromise。
如果导航由于某种原因失败,则这两个 promise 中的任意一个会被拒绝。
异常
InvalidStateErrorDOMException-
如果
Navigation.currentEntry的NavigationHistoryEntry.index值为 -1 或 0,即当前Document尚未激活,或者当前历史记录条目是历史记录中的第一个,这意味着无法向后导航,或者当前Document正在卸载时,抛出此异常。
示例
js
async function backHandler() {
if (navigation.canGoBack) {
await navigation.back().finished;
// 导航结束后处理任何必要的清理工作
} else {
displayBanner("你在第一页");
}
}
async function forwardHandler() {
if (navigation.canGoForward) {
await navigation.forward().finished;
// 导航结束后处理任何必要的清理工作
} else {
displayBanner("你在最后一页");
}
}
规范
| Specification |
|---|
| HTML> # dom-navigation-back-dev> |
浏览器兼容性
Loading…
参见
- 现代客户端路由:导航 API
- 导航 API 说明
- Domenic Denicola 的导航 API 在线演示