2

私は Javascript と Web プログラミング全般の初心者です。私はWebワーカーを理解しようとしており、次のコードを持っています(クロムで実行されています):

worker_example.html

<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript" src="worker_example.js"></script>
    </head>
<html>

worker_example.js

var worker = new Worker("worker.js");

worker.addEventListener('message', function(e) {
    document.write("hello");
}, false);

worker.postMessage("");

worker.js

// self.postMessage("");

worker.postMessage("")私の質問は、なぜイベントをトリガーしないのですか? ただし、worker.js の 1 行のコメントを外すと、すべて正常に動作します。

4

1 に答える 1

4

にアタッチされたイベント リスナーは、ワーカーから親ページworker送信されるメッセージをリッスンします。ワーカーにもリスナーを登録する必要があります。

親.js

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

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

worker.postMessage('marco');

worker.js

self.addEventListener('message', function (e) {
  self.postMessage(e.data + ' polo');
});
于 2013-01-14T23:43:58.900 に答える