NavigationPreloadManager: getState() メソッド
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2022年4月.
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
メモ: この機能はウェブワーカー内で利用可能です。
getState() は NavigationPreloadManager インターフェイスのメソッドで、事前読み込みが有効になっているかどうか、また、どのような値が HTTP ヘッダーの Service-Worker-Navigation-Preload に送信されるかを示すプロパティを持つオブジェクトを返すプロミス (Promise) を返します。
構文
getState()
引数
なし。
返値
以下のプロパティを持つオブジェクトで解決するプロミス (Promise) です。
enabled-
事前読み込みが有効であれば
true、それ以外ではfalseです。 headerValue-
事前読み込みされた
fetch()に続き、HTTP のヘッダーService-Worker-Navigation-Preloadに送信される値を含む文字列。 これはNavigationPreloadManager.setHeaderValue()を使用して値が変更されない限り、既定値はtrueです。
例外
InvalidStateErrorDOMException-
この
NavigationPreloadManagerが属する登録に関連するアクティブなワーカーがない場合。
例
下記コードは、サービスワーカーが準備完了した時点でリクエストされた現在の状態を示しています。
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}`),
);
仕様書
| Specification |
|---|
| Service Workers> # dom-navigationpreloadmanager-getstate> |
ブラウザーの互換性
Loading…