導航:back() 方法

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

Navigation 介面的 back() 方法會在導航歷史中向後移動一個條目。

語法

js
back(options)

引數

options 可選

一個包含以下屬性的選項物件

info 可選

要傳遞給 navigate 事件的開發者定義的資訊,可在 NavigateEvent.info 中訪問。這可以是任何資料型別。例如,您可能希望根據內容的導航方式(左滑、右滑或主頁)以不同的動畫顯示新導航的內容。可以將指示使用哪種動畫的字串作為 info 傳遞。

返回值

具有以下屬性的物件:

committed

一個 Promise,當可見 URL 已更改且已建立新的 NavigationHistoryEntry 時,它將fulfilled。

finished

一個 Promise,當 intercept() 處理程式返回的所有 Promise 都 fulfilled 時,它將 fulfilled。這相當於 NavigationTransition.finished Promise fulfilled,當 navigatesuccess 事件觸發時。

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

異常

InvalidStateError DOMException

如果 Navigation.currentEntryNavigationHistoryEntry.index 值為 -1 或 0,則會丟擲此錯誤。這意味著當前 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-back-dev

瀏覽器相容性

另見