我在下面这个例子: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 版本 5.0.2 (6533.18.5) 中运行良好,但在 chrome 中无法运行。当我调试它时,worker.js 甚至没有被列为来源之一。奇怪的是,同一网站上的示例页面链接在 chrome 中可以正常工作,这与我的本地代码相同。但是我的本地代码在 chrome 中不起作用。
当我尝试像这样在 Javascript 调试器中手动运行代码时
var w = new Worker('worker.js')
我收到一条错误消息:
Error: SECURITY_ERR: DOM Exception 18
其他人有过这种经历吗?任何人都可以提出解决方案吗?
谢谢