如何使用从字符串创建Web worker(通过POST请求提供)?
我能想到的一种方法,但我不确定如何实现它,是通过从服务器响应创建数据URI,并将其传递给Worker构造函数,但我听说有些浏览器不允许这,因为相同的原产地政策.
注意:作为Worker构造函数的参数传递的URI必须遵循同源策略.目前,浏览器供应商对数据URI是否来源不一致存在分歧; Gecko 10.0(Firefox 10.0/Thunderbird 10.0)及更高版本确实允许数据URI作为工作人员的有效脚本.其他浏览器可能不同意.
这里还有一篇关于whatwg讨论它的帖子.
如果不使用,如何将字符串转换为真正的javascript对象 new Function
var sum = new Function('a', 'b', 'return a + b')
console.log(sum(2, 6))
Run Code Online (Sandbox Code Playgroud)
所以'a', 'b', 'return a + b'是由另一个JavaScript代码段生成的,所有内容都是字符串格式。eslint建议不要使用Function constrctor。The Function constructor is eval. (no-new-func)如果不使用Function constrctor,还有另一个选项可以完成相同的工作吗?谢谢