2

我无法使用 importScripts() 将任何库导入我的 javascript Web Worker。当我导入自己单独的 javascript 文件时,它工作正常,但是当我尝试导入单独的库(例如 jquery 或easeljs)时,它给了我错误:Uncaught ReferenceError: document is not defined

但是,在我不断检查后,它显然是正确定义的。任何人都知道出了什么问题。谢谢你。

4

2 回答 2

3

原因是 webworkers 无法引用 DOM,他们只能通过消息与调用者脚本进行通信。jQuery 对 DOM 进行了显式引用,因此您不能在 webworker 中使用它。我建议你看看 jQuery 创建者 John Resig 关于 WebWorkers 的这篇博文:http: //ejohn.org/blog/web-workers/

于 2013-07-01T00:15:00.277 回答
2

Web Worker 对 DOM 对象和方法的访问权限非常有限,完全无法访问全局document对象,这是 jQuery 和easeljs 都需要的。

我不能说画架,但是对于 jQuery,有一个 1.6.3 的端口,它是在没有 web worker 不安全代码的情况下编译的。可以在这里找到。

于 2013-07-01T00:13:02.597 回答