MENU
Service Worker- NavigationPreloadManager
The experimental NavigationPreloadManager interface provides methods for managing the preloading of resources with a service worker.
addEventListener('activate', event => {
event.waitUntil(async function() {
if (self.registration.navigationPreload) {
await self.registration.navigationPreload.enable();
}
}());
});
addEventListener('fetch', event => {
event.respondWith(async function() { // Respond from the cache if we can
const cachedResponse = await caches.match(event.request);
if (cachedResponse) return cachedResponse; // Else, use the preloaded response, if it's there
const response = await event.preloadResponse;
if (response) return response; // Else try the network.
return fetch(event.request);
}());
});