2011-01-05 46 views
1

工作我下面這個例子:http://www.whatwg.org/specs/web-workers/current-work/HTML 5 Web工作例不8.0.552.231

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 

沒有任何人有這樣的經歷?任何人都可以提出解決方案

感謝

回答

0

rxgx是點上,我經常看到這個錯誤。至於解決方案,或者購買一些便宜的共享主機進行開發,或者從自己的機器上運行Web服務器。對於Windows,請下載並安裝Apache基金會提供的Apache安裝程序,然後按照說明進行操作。對於Mac OS X,只需在系統偏好設置的共享部分啓用Web共享。對於Linux,請通過您的軟件包管理器安裝apache或lighttpd軟件包。