title: Execute web worker from different origin
body: <p>I am developing a library which I want to host on a CDN. The library is going to be used on many different domains across multiple servers. The library itself contains one script (let's call it script.js for now) which loads a web worker (worker.js).</p>
  
  <p>Loading the library itself is quite easy: just add the <code>&lt;script type="text/javascript" src="http://cdn.mydomain.com/script.js"&gt;&lt;/script&gt;</code> tag to the domain on which I want to use the library (www.myotherdomain.com). However since the library is loading a worker from <a href="http://cdn.mydomain.com/worker.js" rel="noreferrer">http://cdn.mydomain.com/worker.js</a> <code>new Worker('http://cdn.mydomain.com/worker.js')</code>, I get a SecurityException. CORS is enabled on cdn.mydomain.com.</p>
  
  <p>For web workers it is not allowed to use a web worker on a remote domain. Using CORS will not help: browsers seem to ignore it and don't even execute the preflight check.</p>
  
  <p>A way around this would be to perform an XMLHttpRequest to get the source of the worker and then create a BLOB url and create a worker using this url. This works for Firefox and Chrome. However, this does not seem to work for Internet Explorer or Opera.</p>
  
  <p>A solution would be to place the worker on www.myotherdomain.com or place a proxy file (which simply loads the worker from the cdn using XHR or importScripts). I do not however like this solution: it requires me to place additional files on the server and since the library is used on multiple servers, updating would be difficult.</p>
  
  <p>My question consists of two parsts:</p>
  
  <ol>
  <li>Is it possible to have a worker on a remote origin for IE 10+?</li>
  <li>If 1 is the case, how is it handled best to be working cross-browser?</li>
  </ol>