2011-01-05 3 views
1

que je suis cet exemple à: http://www.whatwg.org/specs/web-workers/current-work/HTML 5 Web Worker Exemple ne fonctionne pas dans 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); 
} 

Cette exemple fonctionne très bien dans Firefox et Safari Version 5.0.2 (6533.18.5) sur Mac OSX mais ne fonctionne pas en chrome. Lorsque je le débogue, worker.js n'est même pas répertorié comme l'une des sources. Ce qui est bizarre, c'est que le lien de page d'exemple sur le même site fonctionne très bien en chrome, qui est le même code que mon code local. Mais mon code local ne fonctionne pas en chrome.

Lorsque je tente de lancer manuellement le code Javascript dans le débogueur comme celui-ci

var w = new Worker('worker.js') 

Je reçois une erreur disant:

Error: SECURITY_ERR: DOM Exception 18 

Est-ce que quelqu'un d'autre a cette expérience? Quelqu'un peut-il proposer une solution?

Merci

Répondre

0

rxgx est sur place, je l'ai vu souvent cette erreur. Pour ce qui est de la solution, soit acheter un hébergement mutualisé bon marché pour le développement, soit lancer un serveur web sur votre propre machine. Pour Windows, téléchargez et installez le programme d'installation Apache mis à disposition par la fondation Apache et suivez les instructions. Pour Mac OS X, activez le partage Web dans la section Partage des Préférences Système. Pour Linux, installez un paquet apache ou lighttpd via votre gestionnaire de paquets.