The setHeaderValue()
method of the NavigationPreloadManager
interface sets the value of the Service-Worker-Navigation-Preload
header that will be sent with requests resulting from a fetch()
operation made during service worker navigation preloading. It returns an empty Promise
that resolves with undefined
.
The presence of the Service-Worker-Navigation-Preload
header in preloading requests allows servers to configure the returned resource differently for preloading fetch requests than from normal fetch requests. The default directive is set to true
: this method allows the possibility of configuring multiple different responses to preload requests.
Note: If a different response may result from setting this header, the server must set Vary: Service-Worker-Navigation-Preload
to ensure that the different responses are cached.
Syntax
Parameters
-
value
-
An arbitrary string value, which the target server uses to determine what should returned for the requested resource.
Return value
A Promise
that resolves with undefined
.
Exceptions
InvalidStateError
DOMException
-
There is no active worker associated with the registration to which this NavigationPreloadManager
belongs.
Examples
The code below demonstrates how the value might be set.
navigator.serviceWorker.ready
.then((registration) =>
registration.navigationPreload.setHeaderValue(newValue),
)
.then(() => console.log("Done!"))
.catch((e) =>
console.error(`NavigationPreloadManager not supported: ${e.message}`),
);
Specifications
Browser compatibility
|
Desktop |
Mobile |
|
Chrome |
Edge |
Firefox |
Internet Explorer |
Opera |
Safari |
WebView Android |
Chrome Android |
Firefox for Android |
Opera Android |
Safari on IOS |
Samsung Internet |
setHeaderValue |
59 |
18 |
99 |
No |
46 |
15.4 |
59 |
59 |
99 |
43 |
15.4 |
7.0 |