Nico today WatchをChromeでも使えるように

Greasemonkeyでしか動かなかったNico today Watchだけど、ようやくChromeにも対応させた。

http://userscripts.org/scripts/show/103101

対応にそんな1日も2日も掛かる予定じゃなかったんだけど、どうしてもChromeでページのwindowオブジェクトを取得できなくて困ってた。メッセージングのイベント使う方法だとwindowオブジェクトは引き回せなさそうだったし、contentWindow使おうと思ったらもう既にかなり前から廃止されてたり。
そんな中まだwindowが取れるやり方が。
Chrome4以降でoAutoPagerizeが動作しない件 - os0x.blog
ページにthis(window)を引数に持った自分をもう一度書きだすという荒業。ただ、記事の中でも言われてるけど文字列化が遅いそうで。コード量によってどれくらい変わるのかは未検証だけど、自分の環境で自分のスクリプトを試したところ特に遅かったりという事は感じられなかった。(ニコニコのマイページなんて元が遅いしね!!!)
ブラウザの進化(パフォーマンス)に頼っちゃってる感はあるけどひとまずこれで。

ベースができたのでこれからウォッチリスト以外のページも対応できたらと思っとります。