Web アプリ: 2007年12月アーカイブ
Firefox には Greasemonkey というアドインがあっていろいろな機能拡張ができるそうです。そのなかで AutoPagerize というスクリプトが非常に気になりました。Web サイトで頻出する 「次へ」 のボタンの先を裏で読み込んで自動的に現在のページに継ぎ足してくれます。
AutoPagerize : http://d.hatena.ne.jp/swdyh/
とっても魅力的だったのですが IE では使えなくて Firefox 専用のようです。そこで一瞬、 IE から Firefox に移行しようかと考えたのですが、やっぱり思いとどまって IE でも使えるように移植することにしました。まだ極めて buggy ですがいくつかのサイトではちゃんと動くようになったので公開します。AutoPagerize0.0.18 をベースにしています。
動作環境は IE7 + IE7Pro です。IE6 の人はごめんなさい。IE7 はそれなりに便利ですよ。たぶん。iSearch も使えますし。IE7Pro は Greasemonkey の代わりに使います。 このほかにもクラッシュリカバリができたりするのでおすすめです。
IE7Pro : http://www.ie7pro.com/
IE7 + IE7Pro がインストールできたら
を押してください。インストールできるはずです。ライセンスは GPL となっています。
再度書きますがまだ極めて bugyy です。α版です。まともに動かないサイトがたくさんあります。試用できる程度のクオリティです。特に、UTF-8 以外でのサイトでは激しく文字化けする現象を確認しています。なお、AutoPagerize の SITEINFO データについてはソースコード中に埋め込まれています。これは IE7Pro ではデータの保存がうまくいかなかったためです(保存可能な容量が小さい模様です)
最後に AutoPagerize を作ってくださった原作者様に感謝します。また、実装にあたって JavaScript-XPath をはじめ、いろいろなサイトの IE, FireFox 互換用スクリプトを参考にさせていただきました。感謝します。
12/10 追記
cache が expire して毎回 SITEINFO からデータを取得し、パフォーマンスが大幅に低下するという致命的なバグがあったので修正しました。
1/23 追記
最新のデータを SITEINFO からダウンロードするように改良を試みたのですが、問題が多く頓挫してしまいました。
- IE7Pro の API である PRO_getValue と PRO_setValue はいろいろと問題あり
PRO_setValue には一度に 3070 バイト以上のデータが保存できないようです(バージョン1.2, 2.0で確認)。従ってデータを分割してこの制限を回避する必要があります。しかし、PRO_getValue と PRO_setValue は動作がとっても遅いようで AutoPagerize のSITEINFOデータを分割して保存するとかなり時間がかかってしまいます。 AutoPagerize では全てのページの読み込みでキャッシュの読み込みが行われるため PRO_getValue が遅いのは致命的です。 - Turnabout を使ってみるが不安定
そこで、IE7Pro をあきらめて Turnabout という似たようなものを使ってみました。しかし、IE7 ではどうも安定しなくて、ブラウジングしていると突然落ちてしまいます。 - Trixie も厳しそう
未確認ですが、PRO_setValue/PRO_getValue がサポートされていなさそうです。
あと、読み込んだページが文字化けしてしまう問題についてはなかなか解決は難しそうです。文字コードを変換する Proxy を用意するという方法もありますが、そうするとログインしないと読めないサイトで使えなくなってしまいます。ページのデータをダウンロードしてから Proxy サーバに送ってコンバートするのもセキュリティ的によろしくない気がします。
