2011-09-21 2 views
0

WebWorkers를 테스트하려고 다음 코드를 작성했습니다. (index.html을 같은 디렉토리에있는) myworker.js의이 WebWorker에 문제가 있습니까 (오류는 없지만 console.log에 도달하지 않았습니다).

<html> 
<head></head> 
<body> 
    <script type='text/javascript'> 
     var worker = new Worker('./myworker.js'); 
     console.log('after creation'); 

     worker.addEventListener('message', function(msg){ 
      console.log(msg); 
     }); 

     worker.postMessage(); 
    </script> 
</body> 
</html> 

내용입니다 :

this.onmessage = function(){ 
    postMessage('got the msg, thanks'); 
}; 

내가 색인을로드 할 때 나는이처럼 보이는 index.html 파일을 .html (Chrome 14)에서는 '생성 후'console.log가 절대로 발생하지 않습니다. 다른 건 없어요. Console.logs는 새로운 Worker() 생성 전에 발생하지만 이후에는 아무 일도 일어나지 않습니다.

답변

1

내 비스킷을 잘 버터로 만듭니다. 분명히 webWorkers는 로컬로로드 할 때 작동하지 않습니다 (예 : file : //).

소스 : http://www.html5rocks.com/en/tutorials/workers/basics/ (컨텐츠 아래)

+0

를 사용 --allow-file-access-from-files 또는 테스트 응용 프로그램과 함께 크롬을 시작해야하는 경우 - "" "때문에 구글 크롬의 보안에 제한에 따라 최신 버전의 브라우저에서는 worker가 로컬 (예 : file : //)에서 실행되지 않고 조용히 실패합니다! file : // scheme에서 앱을 실행하려면 --allow-file -access-from-file 플래그가 설정되어 있는지 확인하십시오 참고 :이 플래그가 설정된 기본 브라우저를 실행하지 않는 것이 좋습니다 테스트 목적으로 만 사용하고 일반 브라우징에는 사용하지 말고 다른 브라우저에서도 동일한 제한을 적용하지 않습니다 " –

0

당신은 크롬에서 응용 프로그램을 테스트하고 당신이 인용하면 로컬 서버

관련 문제