1

我正在做一些关于 HTML5 Web Worker 的研究。我让“正常”工作人员运行良好,但我似乎无法初始化 SharedWorker。我已经尝试过最新版本的 Chrome 和 Firefox,但没有任何成功......即使我运行在线演示,我也没有得到任何输出。

例如,当我打开以下文档时:

索引.html:

<!DOCTYPE html>
<html>
    <head>
        <title>Web workers</title>
    </head>
    <body>
        <p id="log">Log:</p>
        <script>
          alert("alert 1");
          var worker = new SharedWorker("task.js");
          alert("alert 2");
          var log = document.getElementById("log");
          worker.port.addEventListener("message", function(e){
              log.textContent += "\n" + e.data;
          }, false);
          worker.port.start();
          worker.port.postMessage("ping");
        </script>
    </body>
</html>

任务.js:

onconnect = function(e) {
    var port = e.ports[0];
    port.postMessage("Hello World");
    port.onmessage = function(e) {
        port.postMessage("pong");
    }
}

我添加了两个警报功能用于调试目的。总是显示“alert 1”,从不显示“alert 2”,所以我认为崩溃发生在 SharedWorker 构造函数中(不,这不是因为我的浏览器弹出设置)。非常欢迎任何帮助或建议!

4

1 回答 1

0

感谢 robertc 关于检查控制台的提示,我收到以下错误:

Uncaught Error: SECURITY_ERR: DOM Exception 18 

谷歌引导我进入这个主题,它基本上告诉你在网络服务器上运行它(我使用 wampserver),这对我来说很有帮助。谢谢!

于 2012-08-29T13:02:42.260 回答