self.addEventListener("fetch", function (event) { dump("fetch " + event.request.url + "\n"); if (event.request.url.includes("iframe2.html")) { var body = "<script>" + "window.parent.postMessage({" + "source: 'iframe', status: 'swresponse'" + "}, '*');" + "var w = new Worker('worker.js');" + "w.onmessage = function(evt) {" + "window.parent.postMessage({" + "source: 'worker'," + "status: evt.data," + "}, '*');" + "};" + "</script>"; event.respondWith( new Response(body, { headers: { "Content-Type": "text/html" }, }) ); return; } if (event.request.url.includes("worker.js")) { var body = "self.postMessage('worker-swresponse');"; event.respondWith( new Response(body, { headers: { "Content-Type": "application/javascript" }, }) ); return; } });