0

WebWorkers をテストしようとしている次のコードがあります。次のような index.html ファイルがあります。

<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> 

myworker.js (index.html と同じディレクトリにある) の内容は次のとおりです。

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

(Chrome 14で)index.htmlをロードすると、「作成後」のconsole.logは発生しません。他にも何もありません。Console.logs は new Worker() の作成前に発生しますが、その後は何も発生しないようです。

4

2 に答える 2

1

どうやら WebWorkers は、ローカルに (たとえば、file:// から) ロードすると機能しません。

ソース: http://www.html5rocks.com/en/tutorials/workers/basics/ (コンテンツの下部)

于 2011-09-21T20:01:08.980 に答える
0

Chromeでアプリをテストしている場合は、Chromeで起動する--allow-file-access-from-filesか、ローカルサーバーを使用してアプリをテストする必要があります

于 2012-08-06T09:05:56.013 に答える