我在http://www.whatwg.org/specs/web-workers/current-work/
上关注此示例page.html中
<!DOCTYPE HTML>
<html>
<head>
<title>Worker example: One-core computation</title>
</head>
<body>
<p>The highest prime number discovered so far is: <output id="result"></output></p>
<script>
var worker = new Worker('worker.js');
worker.onmessage = function (event) {
document.getElementById('result').textContent = event.data;
};
</script>
</body>
</html>
worker.js
var n = 1;
search: while (true) {
n += 1;
for (var i = 2; i <= Math.sqrt(n); i += 1)
if (n % i == 0)
continue search;
// found a prime!
postMessage(n);
}
此示例在Mac OSX上的firefox和Safari Version 5.0.2(6533.18.5)中运行良好,但在chrome中不起作用。当我调试它时,worker.js甚至没有列为其中一个来源。奇怪的是,同一网站上的示例页面链接在chrome中工作正常,这与我的本地代码相同。但是我的本地代码在chrome中不起作用。
当我尝试在这样的Javascript调试器中手动运行代码时
var w = new Worker('worker.js')
我收到错误说:
Error: SECURITY_ERR: DOM Exception 18
有没有其他人有这种经历?有人可以提出解决方案吗?
由于
答案 0 :(得分:2)
您是在file:///
协议中还是在http://
上查看此文件?您必须为页面提供服务才能使安全性能够正确处理。
Uncaught Error: SECURITY_ERR: DOM Exception 18 when I try to set a cookie
答案 1 :(得分:0)
rxgx是现货,我经常看到这个错误。至于解决方案,要么购买一些廉价的共享主机进行开发,要么从自己的机器上运行Web服务器。对于Windows,请下载并安装Apache Foundation提供的Apache安装程序,并按照说明进行操作。对于Mac OS X,只需在“系统偏好设置”的“共享”部分中启用Web共享。对于Linux,请通过软件包管理器安装apache或lighttpd软件包。