Apr 13, 2007

Page Concaterと日経ビジネスオンラインとGreasemonkeyと自動更新

複数ページに分かれている続き物のコンテンツを動的に結合して表示するGreasemonkeyスクリプトのPage Concater(バージョン0.10.0)を使っていると日経ビジネスオンラインの記事でうまく動作しないどころか次のページにすら進めなくなってしまった。


    concater.REG_BODY = '<div class="articlecontent">(.*?)<!-- /articlecontent -->';

ここを


    concater.REG_BODY = '="articlecontent">(.*?)(<!-- /articlecontent -->|<div align="center">)';

と書き換えてみたら、ちゃんと動くようになった。あと、そもそも前後のページがあるということ自体認識できない場合もあったけど、これについては、


      el.href.match(/P=(\w+$)/);

ここを


      el.href.match(/P=(\w+)(&.+)?$/);

に直したら改善された。

ところで、この現象にはちょっと前から悩まされてて、スクリプトが古いせいかと思って配布ページから最新版(0.10.0)をインストールし直してもまだよくならなかったので、仕方ないから自力で直したんだけど、これがもし最新版への入れ換えで直っていたとしても、僕はやっぱり「なんだかなー」という感覚を捨てきれない。

拡張機能ではなくてGreasemonkeyスクリプトという形で配布されていると、問題のあるスクリプト(挙動だけでなくセキュリティの問題も有り得る)やなんかがあって後から修正版を公開されても、Firefoxの拡張機能マネージャの自動アップデート機能による最新版の追跡が利用できないので、古いスクリプトがいつまでも残ってしまって、利用者としては困るわけです。なので、できればやっぱりこういうものは拡張機能になっていてほしい。

――と、いち利用者としては無責任に思うんだけど、そうは言っても、拡張機能の開発を始めようと思ったら、今まで無視できてた事やGecko特有の事情、XULのオーバーレイあたりも勉強しないといけないので、そりゃ誰もやってくれないよなあ、とも思うわけで。

そういえば、Greasemonkeyスクリプトを拡張機能に変換するCGIスクリプトってのがどっかにあった気がするけど、僕が試したときには、GM_なんちゃら系の機能に対応してなかったから、実際にはあんまり役に立たなかった気がする。今はどうなってるんだろうか。

追記。最新版で対処していただけた模様です。

エントリを編集します。

wikieditish message: Ready to edit this entry.











拡張機能