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 2018.
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
-
true
if preloading is enabled, andfalse
otherwise. headerValue
-
A string containing the value that will be sent in the
Service-Worker-Navigation-Preload
HTTP header following a preloadingfetch()
. This defaults totrue
unless the value was changed usingNavigationPreloadManager.setHeaderValue()
.
Exceptions
InvalidStateError
DOMException
-
There is no active worker associated with the registration to which this
NavigationPreloadManager
belongs.
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
BCD tables only load in the browser