有一个使用html5的web作品“hello world”演示

时间:2010-11-09 07:22:00

标签: javascript html5 web-worker

这是demo,代码是:

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'

1 个答案:

答案 0 :(得分:2)

在您的示例中,在您调用 worker.postMessage()调用worker的 onmessage 函数之前,worker才会启动。

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

worker.postMessage(null);

<强>更新

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

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

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