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, }, "*" ); });