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 |
瀏覽器相容性
載入中…