demo · v131
opt-in lifecycle
Auto-preload doesn't fire automatically — the SW has to opt in. This page surfaces every step: register the SW, see browser-mode opt-in in navigator.serviceWorker.controller, and probe the related Background Fetch / NavigationPreload modes that this builds on.
registration state
SW: ?
controller: ?
navigationPreload: ?
router api: ?
log
the api
// service-worker.js
self.addEventListener("install", e => self.skipWaiting());
self.addEventListener("activate", e => {
e.waitUntil(self.registration.navigationPreload?.enable());
// The browser also auto-enables AutoPreload when handlers are minimal
});
// main page
const reg = await navigator.serviceWorker.register("/sw.js");
console.log("preload state:", await reg.navigationPreload?.getState());