Firefoxのバグじゃないの?
WebWorkerを使ったタイマーをFirefoxで使うと「応答のないスクリプト」ダイアログが表示される。試した環境は Mac OS X Lion 10.7.3 の Firefox 12.0 以降。(たぶん Firefox 11.0 ではいける)
こんな感じ、postMessageの後、何もしていないのにダイアログが表示される。
window
var worker = new Worker("./timer.js"); worker.onmessage = function() {}; worker.postMessage(null);
timer.js (woker)
this.onmessage = function() { setInterval(function() { postMessage(null); }, 100); };
http://dl.dropbox.com/u/645229/webworkertest/index.html
無駄なコードを挟むと出なくなる
window
var worker = new Worker("./timer.js");
worker.onmessage = function() {};
worker.postMessage(null);
setInterval(function() {}, 1000); // <== Ugly Patch
http://dl.dropbox.com/u/645229/webworkertest/uglypatch.html
バグじゃないの?報告すれば良いの?