Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

NavigationPreloadManager: setHeaderValue() Methode

Baseline Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit April 2022 browserübergreifend verfügbar.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die setHeaderValue()-Methode der NavigationPreloadManager-Schnittstelle legt den Wert des Service-Worker-Navigation-Preload-Headers fest, der mit Anfragen gesendet wird, die aus einem fetch()-Vorgang resultieren, der während des Service-Worker-Navigationsvorausladens durchgeführt wird. Sie gibt ein leeres Promise zurück, das mit undefined aufgelöst wird.

Das Vorhandensein des Service-Worker-Navigation-Preload-Headers in Vorausladeanfragen ermöglicht es Servern, die zurückgegebene Ressource für Vorausladeanfragen anders zu konfigurieren als für normale Anfragen. Die Standarddirektive ist auf true gesetzt: Diese Methode ermöglicht die Konfiguration mehrerer unterschiedlicher Antworten auf Vorausladeanfragen.

Hinweis: Wenn das Setzen dieses Headers zu einer anderen Antwort führen kann, muss der Server Vary: Service-Worker-Navigation-Preload setzen, um sicherzustellen, dass die unterschiedlichen Antworten zwischengespeichert werden.

Syntax

js
setHeaderValue(value)

Parameter

value

Ein beliebiger Zeichenfolgenwert, den der Zielserver verwendet, um zu bestimmen, was für die angeforderte Ressource zurückgegeben werden soll.

Rückgabewert

Ein Promise, das mit undefined aufgelöst wird.

Ausnahmen

InvalidStateError DOMException

Es gibt keinen aktiven Worker, der mit der Registrierung verbunden ist, zu der dieser NavigationPreloadManager gehört.

Beispiele

Der folgende Code demonstriert, wie der Wert gesetzt werden könnte.

js
navigator.serviceWorker.ready
  .then((registration) =>
    registration.navigationPreload.setHeaderValue(newValue),
  )
  .then(() => console.log("Done!"))
  .catch((e) =>
    console.error(`NavigationPreloadManager not supported: ${e.message}`),
  );

Spezifikationen

Spezifikation
Service Workers Nightly
# dom-navigationpreloadmanager-setheadervalue

Browser-Kompatibilität