var mySharedWorker = new SharedWorker("file_spawn_shared_worker.js"); mySharedWorker.port.onmessage = function (ev) { parent.postMessage( { result: "shared-worker-allowed", href: document.location.href, }, "*" ); mySharedWorker.port.close(); }; mySharedWorker.onerror = function (evt) { evt.preventDefault(); parent.postMessage( { result: "shared-worker-blocked", href: document.location.href, }, "*" ); mySharedWorker.port.close(); }; mySharedWorker.port.start(); mySharedWorker.port.postMessage("foo"); // -------------------------------------------- let myWorker = new Worker("file_spawn_worker.js"); myWorker.onmessage = function (event) { parent.postMessage( { result: "worker-allowed", href: document.location.href, }, "*" ); }; myWorker.onerror = function (event) { parent.postMessage( { result: "worker-blocked", href: document.location.href, }, "*" ); }; // -------------------------------------------- navigator.serviceWorker .register("file_spawn_service_worker.js") .then(function (reg) { // registration worked reg.unregister().then(function () { parent.postMessage( { result: "service-worker-allowed", href: document.location.href, }, "*" ); }); }) .catch(function (error) { // registration failed parent.postMessage( { result: "service-worker-blocked", href: document.location.href, }, "*" ); });