UNPKG

shared-worker-loader

Version:
24 lines (22 loc) 776 B
// http://stackoverflow.com/questions/10343913/how-to-create-a-web-worker-from-a-string var URL = window.URL || window.webkitURL; module.exports = function(content, url, name) { try { try { var blob; try { // BlobBuilder = Deprecated, but widely implemented var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder; blob = new BlobBuilder(); blob.append(content); blob = blob.getBlob(); } catch(e) { // The proposed API blob = new Blob([content]); } return new SharedWorker(URL.createObjectURL(blob), name); } catch(e) { return new SharedWorker('data:application/javascript,' + encodeURIComponent(content), name); } } catch(e) { return new SharedWorker(url, name); } }