doc-all-workers.html (814B)
1 <script> 2 var worker1 = new Worker("simple-worker.js"); 3 var worker2 = new SharedWorker("shared-worker.js"); 4 5 registerServiceWorker(); 6 7 async function registerServiceWorker() { 8 const sw = navigator.serviceWorker; 9 const swr = await sw.register("service-worker.sjs", { scope: "" }); 10 11 await new Promise(resolve => { 12 const worker = swr.installing || swr.waiting || swr.active; 13 if (worker.state === 'activated') { 14 return resolve(); 15 } 16 17 worker.addEventListener('statechange', () => { 18 if (worker.state === 'activated') { 19 return resolve(); 20 } 21 }); 22 }); 23 24 await fetch("whatever"); 25 } 26 27 async function unregisterServiceWorker() { 28 const sw = navigator.serviceWorker; 29 const swr = await sw.register("service-worker.sjs", { scope: "" }); 30 return swr.unregister(); 31 } 32 </script>