javascript - 有一个使用 html5 的网络作品 "hello world "演示

标签 javascript html 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'

最佳答案

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

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

worker.postMessage(null);

更新:

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

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

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

关于javascript - 有一个使用 html5 的网络作品 "hello world "演示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4131309/

相关文章:

html - 表格行未扩展到全宽

javascript - innerHTML 不刷新 javascript 中的窗口

javascript - 如何通过突出显示的位置获取该行的文本

javascript - 发送视频和音频流到服务器

javascript - 创建一个传递匿名函数的 Javascript Worker

javascript - 在游戏中使用 Web Worker 有意义吗?

javascript - 无法实例化模块 AngularJS

php - 向MYSQL数据库中插入多条数据

php - 是否可以使用 iframe 跟踪来自第三方的 ip 或流量