pim*_*vdb 6 javascript google-chrome web-worker function-constructor content-security-policy
我无法new Function在Web Worker中工作.我有一个HTML页面,它产生了一个Web Worker.此Web Worker通过执行代码new Function(str).我正在尝试在打包的Chrome应用中使用此功能,这需要使用类似eval代码的页面在清单中明确列为沙盒页面.
现在,有两种选择:
new Function,但我无法生成Web Worker,因为我无法发出任何请求(沙盒页面具有唯一的来源).new Worker(...)抛出一个SECURITY_ERR.
new Function 适用于沙箱new Worker 由于独特的起源而在沙盒中失败new Function因为它不是沙箱.new Function(...)抛出一个EvalError关于它的使用抱怨.
new Function未能在非沙箱由于是eval样new Worker 适用于非沙箱我的CSP如下:
sandbox allow-scripts script-src 'self' 'unsafe-eval'; object-src 'self'
Run Code Online (Sandbox Code Playgroud)
如何new Function在Web Worker中工作?
有一种称为内联工的技术,我建议使用它.
这是在他们的WebWorkers教程中的HTML5 rock网站上的示例代码中描述的.这样,您可以将网站列为沙盒,但由于不需要执行外部请求,因此它也应该在沙盒模式下工作.
| 归档时间: |
|
| 查看次数: |
802 次 |
| 最近记录: |