Pergunta

Estou seguindo este exemplo em: http://www.whatwg.org/specs/web-workers/current-work/

página.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>

trabalhador.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);
}

Este exemplo funciona bem no Firefox e Safari versão 5.0.2 (6533.18.5) no Mac OSX, mas não funciona no Chrome. Quando eu depurar, Worker.js nem sequer está listado como uma das fontes. O que é bizarro é que o link da página de exemplo no mesmo site funciona bem no Chrome, que é o mesmo código do meu código local. Mas meu código local não funciona no Chrome.

Quando tento executar manualmente o código no depurador JavaScript como este

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

Eu recebo um erro dizendo:

Error: SECURITY_ERR: DOM Exception 18

Alguém mais teve essa experiência? Alguém pode sugerir uma solução?

Obrigado

Foi útil?

Solução

Você está visualizando este arquivo no file:/// protocolo ou mais http://? Você terá que servir a página para que a segurança o processe corretamente.

Erro não capturado: Security_err: DOM Exceção 18 Quando tento definir um cookie

Outras dicas

O RXGX está no local, eu já vi esse erro com frequência. Quanto a uma solução, compre uma hospedagem compartilhada barata para desenvolvimento ou execute um servidor da Web da sua própria máquina. Para Windows, faça o download e instale o instalador do Apache disponibilizado na Apache Foundation e siga as instruções. Para o Mac OS X, basta ativar o compartilhamento da Web na seção de compartilhamento das preferências do sistema. Para o Linux, instale um pacote Apache ou LightTPD através do seu gerenciador de pacotes.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top