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.
A Promise that resolves with an object that has the following properties:
enabled -
true if preloading is enabled, and false otherwise.
-
A string containing the value that will be sent in the Service-Worker-Navigation-Preload HTTP header following a preloading fetch(). This defaults to true unless the value was changed using NavigationPreloadManager.setHeaderValue().
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);
console.log(state.headerValue);
})
.catch((e) =>
console.error(`NavigationPreloadManager not supported: ${e.message}`),
);