在Chrome中尝试在另一个Worker内创建Worker时出现“Uncaught ReferenceError: Worker未定义”的错误。

10
这个链接说:

如果需要,Worker可以生成更多的Worker。所谓的子Worker必须在与父页面相同的源中托管。此外,子Worker的URI是相对于父Worker位置而不是所属页面来解析的。这使得Worker更容易跟踪其依赖关系。

但是当我尝试在另一个Worker中创建Worker时:
var worker = new Worker('foo.js');

我在Chrome中遇到了一个异常。

Uncaught ReferenceError: Worker is not defined

令人惊讶的是,IE可以正常工作。这里有相关文档吗?有没有适用于跨浏览器的正确方法来从另一个Worker中生成一个Worker?通过网络搜索,我并没有看到很多(或者几乎没有)生成子Worker的代码示例。

编辑:添加一些链接:
https://html.spec.whatwg.org/multipage/workers.html#delegation
https://whatwg.org/demos/workers/multicore/page.html (在Chrome中不起作用)

1个回答

10

3
哇!这个问题早在2010年就被报告了,但现在仍未得到解决! - morpheus
2
该漏洞在2018年仍然存在。 - Herohtar
4
它在2020年仍然存在! - niranjan_harpale
7
2030年了,它仍然存在! - sulhadin
2
它在3021年仍然存在! - intumwa
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接