将文档对象传递给Web worker

时间:2012-08-08 21:00:23

标签: jquery html5 web-worker

我知道网络工作者无法直接访问dom。但做这样的事情会是个坏主意:

var doc = $(document);

var worker = new Worker("worker.js");

worker.postMessage({ cmd: 'doDomStuff', data: doc });

你看到这个代码有什么缺点吗?

非常感谢任何提示/评论。

更新:为了清楚起见:我只想从DOM获取数据,不设置任何新值或以任何方式操纵DOM。

1 个答案:

答案 0 :(得分:9)

我看不出你不能这样做的任何理由,但当你试图操纵工人和主要工作中的相同元素时,这可能会导致问题js代码同时。

您需要在代码中添加一些互斥锁。

抱歉抓上面......


  

工作人员有权访问:

     

DOM(它不是线程安全的)
  窗口对象
  文件对象
  父对象

Source