1

这是演示,代码是:

main.js:
  var worker = new Worker('extra_work.js');
  worker.onmessage = function(event) { alert(event.data); };

extra_work.js:
  self.onmessage = function(event) {
    // Do some work.
    self.postMessage("some_data");
  }

我使用代码运行,但它无法提醒“some_data”,

那我该怎么办?

谢谢

更新

我将 extra_work.js 编辑为此:

postMessage('aaaa');

和 Firefox 警报“aaaa”,但不是 chrome,

那么如何使 chrome 警报“aaaa”

4

1 回答 1

2

在您的示例中,工作人员将不会启动,直到您调用worker.postMessage()来调用工作人员的onmessage函数。

将此行附加到 main.js 以进行修复:

worker.postMessage(null);

更新

postMessage( ) 在 Firefox 3.6 中需要一个参数(即使为 null)

我还整理了一个适用于 Chrome 和 Firefox 的示例供您查看:

http://rob.olmos.name/worker/worker.html

于 2010-11-09T09:15:52.550 回答