我正在研究HTML5 Web Worker。 我让'普通'工作者运行得很好,但我似乎无法初始化SharedWorker。我尝试过最新版本的Chrome和Firefox,没有任何成功...... 即使我运行在线演示,我也没有输出。
例如,当我打开以下文档时:
的index.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>
task.js:
onconnect = function(e) {
var port = e.ports[0];
port.postMessage("Hello World");
port.onmessage = function(e) {
port.postMessage("pong");
}
}
我添加了两个警报功能以进行调试。始终显示“警报1”,从不显示“警报2”,因此我认为崩溃发生在SharedWorker构造函数中(不,这不是因为我的浏览器弹出设置)。 非常欢迎任何帮助或建议!
答案 0 :(得分:0)
感谢robertc关于检查控制台的提示,我收到了以下错误:
Uncaught Error: SECURITY_ERR: DOM Exception 18
Google将我引导至this topic,它基本上告诉您在网络服务器上运行它(我使用的是wampserver),这对我的情况有帮助。谢谢!