12345678910111213141516171819202122232425262728293031323334353637 |
- 'use strict';
- // 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) {
- 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 Worker(URL.createObjectURL(blob));
- } catch (e) {
- return new Worker('data:application/javascript,' + encodeURIComponent(content));
- }
- } catch (e) {
- if (!url) {
- throw Error('Inline worker is not supported');
- }
- return new Worker(url);
- }
- };
|