Web アプリの最近のブログ記事

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 サーバに送ってコンバートするのもセキュリティ的によろしくない気がします。

久しぶりの投稿です。皆様いかがお過ごしですか。

突然ですが、普段 IE7 or Firefox を使っている方は右上の検索バーを使っておられるでしょうか。
searchbox.png
おそらく普通は、デフォルトを Google 検索にしてオプションでその他の検索エンジンを登録し検索のたびに切り替えて使用しているのではないかと思います。

私も検索エンジンをいくつか登録してみたのですが、結局切り替えるのが面倒になりまして使わなくなってしまいました。

そこで、なんとか検索エンジンの切り替えを簡単にできないかと思い、IE7 & Firefox の検索ボックスを賢くするツール(検索プロバイダ)を作ってみました!

とりあえず実用できる段階になったので公開します。
iSearch

このツールを導入すると、検索エンジンの切り替えをコマンドで行うことができます。

例えば wikipedia で web2.0 を検索したい場合は "w web2.0" と検索ボックスに入力します。(""は入力不要です) 要は先頭の文字で検索エンジンを切り替えると言うことです。

少しだけ賢い機能もついていまして利便性のために入力されたコマンドは全角半角を問わない設計になっています。
"w web2.0" でも "w web2.0" でも "w web2.0" でも結果は同じです。

あと、株屋さんにおすすめの機能なのですが、 4 桁の数字を入力すると日本株の銘柄コードと判断して Yahoo ファイナンスに飛ぶことができます。実は私はこの機能が欲しいがために作りまして、前までは銘柄検索を高速にするためだけに Yahoo ツールバーを導入していました。

試してみるのはクリック一発インストールと簡単なのでよろしければ使ってみてください。

注意としましては、リダイレクト先を判別するサーバが時々落ちてしまうかもしれません。
その時はあきらめて通常の検索に切り替えてください。

突然ですが、レーダー雨量というのをご存知でしょうか?
仕組みなど詳しくは私もよく知らないんですが、どうやら現在の各地の降雨状況が細かくわかるらしいです。

ということはその図を見ていればもうすぐ雨が止みそうだとか、降りそうだとかいうのがわかりそうです。

しかし、、、

解像度が低いんです。

国土交通省 防災情報提供センター リアルタイムレーダー
http://www.bosaijoho.go.jp/radar.html

を見るとわかりますが、最大限に拡大しても現在地をピンポイントで示すのは困難です。よって現在地付近の細かい情報は大体の位置から予想するしかありません。

こんな感じで、不満がありつつも便利に活用していたある日、自転車で外に買い物に出かけようとしたら急に雨が降ってきまして、むしゃくしゃしたのでこのデータをGoogle Maps上に描画するツールを作成しました。

レーダー雨量 × Google Maps
http://kuee.org/weather/

これでめちゃくちゃ拡大できます!
今自分が居る場所付近の降雨状況が一目瞭然!
こんな感じです。
20070509raderweather.png

とりあえず関東限定です。他の地域の皆様ごめんなさい。バグもあります。あととても重いです。。。
そのうちもう少し便利になるように改良したいと思います。

今日は雨が降ってなくてどんな感じなのか試せねーよって場合は下のほうにある Reload を押してみてください。サンプルデータが表示されます。

--
[ 補足 ]
このアプリではGoogle MapsのKMLというのを利用して降雨データの描画を行っています。おそらく描画エンジンの性能が悪いんだと思いますが、描画量が増えるととても重くなるようです。描画エンジンの高速化に期待です。

あと、描画量が多くなりすぎると描画されなくなるというバグ(というかたぶん仕様)があります。関東一円で雨が降るとまともに表示できません。つかえねー。
こちらは何とか回避手段はありそうな気がします。

KMLをGoogle Earthで直接表示すると問題はないのですが、地図が表示されないのであまり表示が美しくありません。

--
[ 実装方法 ]
非常に愚直です。
1.画像をダウンロードして色をゴリゴリ解析して雨の部分を抽出
2.すべて四角形で描画すると効率が悪いのでポリゴンを抽出
3.KMLに変換(座標の計算)して保存
とりあえず動くだけのプログラムなので驚くほど重いです。

--
2007/05/11 Added
今日、少し改良を行いました。
KMLファイルを分割して、描画量が多くてもある程度までは表示されるようになりました。
たくさん雨が降ったときはまだだめっぽいですが、もう少し分割数を増やすことで対応できそうです。
この改良によりさらに重くなったんではないかと思うと微妙な感じですが・・・。

このアーカイブについて

このページには、過去に書かれたブログ記事のうちWeb アプリカテゴリに属しているものが含まれています。

前のカテゴリはRubyです。

次のカテゴリはWindows アプリです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Web アプリ: 月別アーカイブ

Powered by Movable Type 4.12