NavigationPreloadManager: setHeaderValue() メソッド
        
        
          
                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) でのみ利用できます。
メモ: この機能はウェブワーカー内で利用可能です。
setHeaderValue() は NavigationPreloadManager インターフェイスのメソッドで、サービスワーカーのナビゲーション事前読み込み中に実行された fetch() 操作の結果として送信されるリクエストに付加される Service-Worker-Navigation-Preload ヘッダーの値を設定します。
これは、undefined で解決する空のプロミス (Promise) を返します。
事前読み込みリクエストに Service-Worker-Navigation-Preload ヘッダーが存在することで、サーバーは事前読み込みフェッチリクエストと通常のフェッチリクエストに対して、異なるリソースを返すように構成することができます。
既定でこのディレクティブは true に設定されています。このメソッドでは、事前読み込みリクエストに対して複数の異なる応答を構成することが可能なのです。
メモ:
このヘッダーを設定することで異なるレスポンスが返される可能性がある場合、サーバーは異なるレスポンスが確実にキャッシュされるように Vary: Service-Worker-Navigation-Preload を設定する必要があります。
構文
setHeaderValue(value)
引数
- value
- 
対象とするサーバーが、リクエストされたリソースに対して何を返すべきかを決定するために使用する任意の文字列値です。 
返値
例外
- InvalidStateError- DOMException
- 
この NavigationPreloadManagerが属する登録に関連するアクティブなワーカーがない場合。
例
次のコードは、この値を設定する方法を示しています。
navigator.serviceWorker.ready
  .then((registration) =>
    registration.navigationPreload.setHeaderValue(newValue),
  )
  .then(() => console.log("Done!"))
  .catch((e) =>
    console.error(`NavigationPreloadManager に対応していません: ${e.message}`),
  );
仕様書
| Specification | 
|---|
| Service Workers> # dom-navigationpreloadmanager-setheadervalue> | 
ブラウザーの互換性
Loading…