Complete the code to register a service worker in a Svelte app.
if ('serviceWorker' in navigator) { navigator.serviceWorker.[1]('/service-worker.js') .then(() => console.log('Service Worker registered')) .catch(err => console.error('Registration failed:', err)); }
The register method is used to register a service worker script.
Complete the code to listen for the 'install' event inside a service worker file.
self.addEventListener('[1]', event => { event.waitUntil( caches.open('v1').then(cache => cache.addAll(['/','/index.html'])) ); });
The 'install' event is fired when the service worker is installing and is used to cache files.
Fix the error in the fetch event handler to respond with cached files.
self.addEventListener('fetch', event => { event.respondWith( caches.match(event.[1]).then(response => { return response || fetch(event.request); }) ); });
The fetch event has a request property representing the network request.
Fill both blanks to cache files during the install event and activate the new service worker.
self.addEventListener('[1]', event => { event.waitUntil( caches.open('static-v1').then(cache => cache.addAll(['/index.html', '/app.js'])) ); }); self.addEventListener('[2]', event => { event.waitUntil(self.clients.claim()); });
The 'install' event caches files, and the 'activate' event takes control of pages immediately.
Fill all three blanks to create a cache-first fetch handler that falls back to network.
self.addEventListener('fetch', event => { event.respondWith( caches.match(event.[1]).then(response => { if (response) { return response; } return fetch(event.[2]).then(networkResponse => { return caches.open('[3]').then(cache => { cache.put(event.request, networkResponse.clone()); return networkResponse; }); }); }) ); });
Use event.request to match and fetch requests. Cache new responses in 'dynamic-v1'.