Ind*_*ema 2 html javascript google-chrome web-worker
如果我尝试通过JavaScript文件使用网络工作者,Chrome会抛出错误 -
Uncaught SecurityError:无法创建worker:'(path)/worker.js'中的脚本无法从origin'null'访问.
但是如果我们直接使用HTML,它就允许它们.
Chrome上的答案无法加载网络工作者说Chrome在从本地文件运行脚本时不允许您加载Web工作者.
为什么chrome不允许Web worker在本地运行?
Web Workers在Firefox,Safari和Edge中完全正常工作
这个问题已经被问到了.只要您使用相对路径,工作人员就应该使用从磁盘打开的HTML文件.但是,如果chrome实现这一点,则一直存在争议.
我建议您尝试在脚本中使用相对路径:
new Worker("./scripts/worker.js");
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,请参阅此解决方法:https://stackoverflow.com/a/33432215/607407
具体来说,将worker作为函数加载,然后将函数转换为string:
function worker_function() {
// all worker code here
}
var worker = new Worker(URL.createObjectURL(new Blob(["("+worker_function.toString()+")()"], {type: 'text/javascript'})));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9218 次 |
最近记录: |