Cross Domain Web Worker?

cross-domain, html, javascript, web-worker

Solution

I also have the same problem, hope this can help you https://gist.github.com/jtyjty99999/a730a17258fca04bfca3

 function XHRWorker(url, ready, scope) {
      var oReq = new XMLHttpRequest();
      oReq.addEventListener('load', function() {
          var worker = new Worker(window.URL.createObjectURL(new Blob([this.responseText])));
          if (ready) {
              ready.call(scope, worker);
          }
      }, oReq);
      oReq.open("get", url, true);
      oReq.send();
  }

  function WorkerStart() {
      XHRWorker("http://static.xxx.com/js/worker.js", function(worker) {
          worker.postMessage("hello world");
          worker.onmessage = function(e) {
              console.log(e.data);
          }
      }, this);
  }

  WorkerStart();

Problem

I have https://domain1.com (domain1) and https://domain2.com (domain2). Domain2 serves a page containing javascript with this header: ``` "Access-Control-Allow-Origin: *" ``` Domain1 runs some javascript code that invokes: ``` new Worker("//domain2.com/script.js") ``` Browsers throw security exceptions. Since starting writing this question, I have got around this problem by ajaxing the script, blobbing it and running it from that, but am I missing something in the original idea?

Original source

Related problems