ブラクラできたよー\(^o^)/
GearsMonkeyでWorkerPoolを使おうとして四苦八苦しているうちに、ブラクラができたのでご紹介します。
// ==UserScript== // @name crasher // @namespace http://d.hatena.ne.jp/matsuza // @description DO NOT INSTALL! This script crashes Firefox. // @include http://ja.wikipedia.org/* // ==/UserScript== (function(){ var pool = null; function initGears() { if (!unsafeWindow.google) unsafeWindow.google= {}; if (!unsafeWindow.google.gears){ unsafeWindow.google.gears= {factory: new GearsFactory()}; } try { pool = unsafeWindow.google.gears.factory.create('beta.workerpool'); } catch(e) { } } function triggerCrawler(){ window.addEventListener("load", function(){ new GearsFactory().create('beta.workerpool'); location.href = location.href; return false; }, true); } initGears() if(!pool){ triggerCrawler() } var childWorkerId = pool.createWorker("") pool.sendMessage("hello", childWorkerId) })()
GoogleGearsを導入している環境にこのGreaseMonkeyスクリプトをインストールして、ja.wikipedia.orgのどこかのページにアクセスすると、Firefoxが落ちます\(^o^)/
なにが……なにが悪いんだ……。最後の2行以外はおまじないを書いているだけのつもりなのに。ちゃんとドキュメント読んで明日再挑戦だ。