sw-intercept.js (331B)
1 async function broadcast(msg) { 2 for (const client of await clients.matchAll()) { 3 client.postMessage(msg); 4 } 5 } 6 7 self.addEventListener('fetch', event => { 8 event.waitUntil(broadcast(event.request.url)); 9 event.respondWith(fetch(event.request)); 10 }); 11 12 self.addEventListener('activate', event => { 13 self.clients.claim(); 14 });