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.finished Promise fulfilled,此時會觸發 navigatesuccess 事件。

如果導航因某種原因失敗,則這兩個 Promise 中的任何一個都會 rejected。

異常

InvalidStateError DOMException

如果 Navigation.currentEntryNavigationHistoryEntry.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

瀏覽器相容性

另見