NavigationPreloadManager: getState() method
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2022.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The getState() method of the NavigationPreloadManager interface returns a Promise that resolves to an object with properties that indicate whether preload is enabled and what value will be sent in the Service-Worker-Navigation-Preload HTTP header.
Syntax
getState()
Parameters
None.
Return value
A Promise that resolves with an object that has the following properties:
enabled-
trueif preloading is enabled, andfalseotherwise. headerValue-
A string containing the value that will be sent in the
Service-Worker-Navigation-PreloadHTTP header following a preloadingfetch(). This defaults totrueunless the value was changed usingNavigationPreloadManager.setHeaderValue().
Exceptions
InvalidStateErrorDOMException-
There is no active worker associated with the registration to which this
NavigationPreloadManagerbelongs.
Examples
The code below shows a request for the current state, made once the service worker is ready.
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}`),
);
Specifications
| Specification |
|---|
| Service Workers> # dom-navigationpreloadmanager-getstate> |
Browser compatibility
Loading…