1. 開発者向けのウェブ技術
  2. Web API
  3. NavigationPreloadManager
  4. getState()

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

NavigationPreloadManager: getState() メソッド

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2022年4月以降、すべてのブラウザーで利用可能です。

安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

メモ: この機能はウェブワーカー内で利用可能です。

getState()NavigationPreloadManager インターフェイスのメソッドで、事前読み込みが有効になっているかどうか、また、どのような値が HTTP ヘッダーの Service-Worker-Navigation-Preload に送信されるかを示すプロパティを持つオブジェクトを返すプロミス (Promise) を返します。

構文

js
getState()

引数

なし。

返値

以下のプロパティを持つオブジェクトで解決するプロミス (Promise) です。

enabled

事前読み込みが有効であれば true、それ以外では false です。

headerValue

事前読み込みされた fetch() に続き、HTTP のヘッダー Service-Worker-Navigation-Preload に送信される値を含む文字列。 これは NavigationPreloadManager.setHeaderValue() を使用して値が変更されない限り、既定値は true です。

例外

InvalidStateError DOMException

この NavigationPreloadManager が属する登録に関連するアクティブなワーカーがない場合。

下記コードは、サービスワーカーが準備完了した時点でリクエストされた現在の状態を示しています。

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 Nightly
# dom-navigationpreloadmanager-getstate

ブラウザーの互換性

MDN の改良に協力

協力方法を知る

このページは MDN の貢献者によって に最終更新されました。

AltStyle によって変換されたページ (->オリジナル) /