Navigation: forward() 方法
Navigation 接口的 forward() 方法会在导航历史中向前导航一个条目。
语法
js
forward(options)
参数
options可选-
一个包含以下属性的选项对象
info可选-
要传递给
navigate事件的开发者定义的信息,可在NavigateEvent.info中访问。这可以是任何数据类型。例如,您可能希望根据内容的导航方式(左滑、右滑或主页)以不同的动画显示新导航的内容。可以将指示使用哪种动画的字符串作为info传递。
返回值
具有以下属性的对象:
committed-
一个
Promise,当可见 URL 已更改且已创建新的NavigationHistoryEntry时,它将fulfilled。 finished-
一个
Promise,当NavigateEvent.intercept()处理程序返回的所有 Promise 都fulfilled时,它将fulfilled。这等同于NavigationTransition.finishedPromise fulfilled,此时会触发navigatesuccess事件。
如果导航因某种原因失败,则这两个 Promise 中的任何一个都会 rejected。
异常
InvalidStateErrorDOMException-
如果
Navigation.currentEntry的NavigationHistoryEntry.index值是 -1 或navigation.entries().length - 1,即当前Document尚未激活,或者当前历史条目是历史中的最后一个条目,这意味着无法进行向前导航,或者当前Document正在卸载,则会抛出此异常。
示例
js
async function backHandler() {
if (navigation.canGoBack) {
await navigation.back().finished;
// Handle any required clean-up after
// navigation has finished
} else {
displayBanner("You are on the first page");
}
}
async function forwardHandler() {
if (navigation.canGoForward) {
await navigation.forward().finished;
// Handle any required clean-up after
// navigation has finished
} else {
displayBanner("You are on the last page");
}
}
规范
| 规范 |
|---|
| HTML # dom-navigation-forward-dev |
浏览器兼容性
加载中…