Javascript 从数据URI创建工作进程
我有一个非常简单的需求,我需要用一个小的数据uri脚本生成一个webworker:Javascript 从数据URI创建工作进程,javascript,worker,Javascript,Worker,我有一个非常简单的需求,我需要用一个小的数据uri脚本生成一个webworker: new Worker('data:,console.log("HI")'); 在Firefox中,这给了我一个错误。错误是: SecurityError: Failed to load worker script at "data:,console.log("HI")" 是否有办法让worker使用数据URI?您完全可以尝试以下哪种方法: 使用function.prototype.toString 从传递
new Worker('data:,console.log("HI")');
在Firefox中,这给了我一个错误。错误是:
SecurityError: Failed to load worker script at "data:,console.log("HI")"
是否有办法让worker使用数据URI?您完全可以尝试以下哪种方法:
- 使用
function.prototype.toString
- 从传递的函数创建IIFE,并传入任何附加参数
- 将函数转换为
,类型为Blob
application/javascript
- 使用使用
创建的数据URI实例化新工作进程URL.createObjectURL
Worker()
的参数是脚本URL,而不是代码。你的代码片段在Firefox49(但显然不是在Chrome)中对我来说很好(无论如何,在控制台中)。您使用的是什么版本?@iamnotmaynard感谢您的测试!我最终使用的是Blob.createObjectURL,然后用它启动worker。试试非常有趣的方法谢谢@Wildhoney,如果你能将其作为我愿意接受的解决方案发布!