Web workers without a separate Javascript file? Web workers without a separate Javascript file? javascript javascript

Web workers without a separate Javascript file?


http://www.html5rocks.com/en/tutorials/workers/basics/#toc-inlineworkers

What if you want to create your worker script on the fly, or create a self-contained page without having to create separate worker files? With Blob(), you can "inline" your worker in the same HTML file as your main logic by creating a URL handle to the worker code as a string


Full example of BLOB inline worker:

<!DOCTYPE html><script id="worker1" type="javascript/worker">  // This script won't be parsed by JS engines because its type is javascript/worker.  self.onmessage = function(e) {    self.postMessage('msg from worker');  };  // Rest of your worker code goes here.</script><script>  var blob = new Blob([    document.querySelector('#worker1').textContent  ], { type: "text/javascript" })  // Note: window.webkitURL.createObjectURL() in Chrome 10+.  var worker = new Worker(window.URL.createObjectURL(blob));  worker.onmessage = function(e) {    console.log("Received: " + e.data);  }  worker.postMessage("hello"); // Start the worker.</script>