- From: alancutter <notifications@github.com>
- Date: Sun, 13 Nov 2022 20:22:23 -0800
- To: w3c/ServiceWorker <ServiceWorker@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
Received on Monday, 14 November 2022 04:22:36 UTC
Currently if a first page load wants to register a service worker and immediately be controlled by it it has to do quite a bit of boilerplate: ```js // serviceworker.js self.addEventListener('activate', (event) => { event.waitUntil(clients.claim()); }); ``` ```js // main.js async function registerServiceWorker() { await navigator.serviceWorker.register('serviceworker.js'); const registration = await navigator.serviceWorker.ready; const worker = registration.active; if (worker.state === 'activated') { return; } await new Promise(resolve => { worker.addEventListener('statechange', () => { if (worker.state = 'activated') { resolve(); } }); }); } ``` We could simplify this by adding a new option to register that does the same thing (including the SW side) and reduce all this down to: ```js // main.js await navigator.serviceWorker.register('serviceworker.js', { claim: true }); ``` -- Reply to this email directly or view it on GitHub: https://github.com/w3c/ServiceWorker/issues/1661 You are receiving this because you are subscribed to this thread. Message ID: <w3c/ServiceWorker/issues/1661@github.com>
Received on Monday, 14 November 2022 04:22:36 UTC