这是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'
答案 0 :(得分:2)
在您的示例中,在您调用 worker.postMessage()调用worker的 onmessage 函数之前,worker才会启动。
将此行附加到main.js以获取修复:
worker.postMessage(null);
<强>更新强>:
postMessage()在Firefox 3.6中需要一个参数(即使为null)
我还整理了一个适用于Chrome和Firefox的示例,供您查看: