async function broadcast(msg) { for (const client of await clients.matchAll()) { client.postMessage(msg); } } self.addEventListener('fetch', event => { event.waitUntil(broadcast(event.request.url)); event.respondWith(fetch(event.request)); }); self.addEventListener('activate', event => { self.clients.claim(); });