serviceWorker-dedicated-worker-inner.html (948B)
1 <!DOCTYPE html> 2 <script src="utils.js"></script> 3 4 <body> 5 <script type="module"> 6 // Ask the worker to do a fetch request that will be handled by the service 7 // worker via postMessage. 8 const checkIfServiceWorkerCanControlWebWorker = async () => { 9 const dedicated_worker = new Worker('serviceWorker-dedicated-worker.js'); 10 return new Promise((resolve, reject) => { 11 dedicated_worker.addEventListener('message', e => { 12 resolve(e.data) 13 }); 14 dedicated_worker.postMessage('fetch'); 15 }) 16 } 17 18 const [key] = parseKeylist(); 19 const url = new URL(location.href); 20 if (url.searchParams.get('useServiceWorkerInFencedFrame')) { 21 await navigator.serviceWorker.register('serviceWorker-dedicated-worker-sw.js'); 22 await navigator.serviceWorker.ready; 23 } 24 25 const result = await checkIfServiceWorkerCanControlWebWorker(); 26 writeValueToServer(key, result); 27 </script> 28 </body>