NavigationPreloadManager: getState() 方法
注意:此功能在 Web Workers 中可用。
NavigationPreloadManager 介面的 getState() 方法返回一個 Promise,該 Promise 解析為一個物件,其屬性指示預載入是否已啟用,以及將在 Service-Worker-Navigation-Preload HTTP 標頭中傳送的值。
語法
js
getState()
引數
無。
返回值
一個 Promise,它會解析為一個包含以下屬性的物件
enabled-
如果已啟用預載入,則為
true,否則為false。 headerValue-
一個字串,包含預載入
fetch()後將在Service-Worker-Navigation-PreloadHTTP 標頭中傳送的值。此值預設為true,除非使用NavigationPreloadManager.setHeaderValue()更改了該值。
異常
InvalidStateErrorDOMException-
與此
NavigationPreloadManager所屬的註冊關聯的沒有活動工作執行緒。
示例
下面的程式碼顯示了一個在 service worker 就緒後發起的當前狀態請求。
js
navigator.serviceWorker.ready
.then((registration) => registration.navigationPreload.getState())
.then((state) => {
console.log(state.enabled); // boolean
console.log(state.headerValue); // string
})
.catch((e) =>
console.error(`NavigationPreloadManager not supported: ${e.message}`),
);
規範
| 規範 |
|---|
| Service Workers # dom-navigationpreloadmanager-getstate |
瀏覽器相容性
載入中…