| addEventListener('fetch', evt => { |
| if (evt.request.url.includes('worker-echo-client-id.js')) { |
| evt.respondWith(new Response( |
| 'fetch("fetch-echo-client-id").then(r => r.text()).then(t => self.postMessage(t));', |
| { headers: { 'Content-Type': 'application/javascript' }})); |
| return; |
| } |
| |
| if (evt.request.url.includes('fetch-echo-client-id')) { |
| evt.respondWith(new Response(evt.clientId)); |
| return; |
| } |
| |
| if (evt.request.url.includes('frame.html')) { |
| evt.respondWith(new Response('')); |
| return; |
| } |
| }); |
| |
| addEventListener('message', evt => { |
| if (evt.data === 'echo-client-id') { |
| evt.ports[0].postMessage(evt.source.id); |
| return; |
| } |
| }); |