Source code

Revision control

Copy as Markdown

Other Tools

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;
}
});