WebBrowserコントロールで試行錯誤 ― IEコンポーネント利用ブラウザによる Autopagerize の実現に向けて

観測気球

収集物の記録書庫 a data archive of collection -- collectible toys

[要旨] IE7 でも Autopagerize を使いたいなぁ、と思っているうちに、いつの間にか、自分でブラウザを作ってしまえ、ということになった話。
[キーワード] IE7,Greasemonkey,Autopagerize,WebBrowser

« メモ: 資産運用 その3 | トップページ | Twitter API 仕様書 (勝手に日本語訳シリーズ) 第十一版 »

2008.03.04

WebBrowserコントロールで試行錯誤 ― IEコンポーネント利用ブラウザによる Autopagerize の実現に向けて

というか、自分でブラウザを作ればいいんですよ。とか言ってみる
(昨日、少しやりかけたところ)

はらへた

10 行でズバリ !! 簡単 WebBrowser の作成 (C#)」で解説されているサンプルプログラムを参考にしつつ、.NET Framework (2.0以降) の WebBrowserコントロール を使った、Webブラウザを作ろうとしているところです。

なんで、Webブラウザを作り始めたかというと、IE7 でも Greasemonkey というか AutopagerizeMinibuffer が使いたくて、どうすればいいか、考えているうちにたどり着いたのが、自分でブラウザを作ってみる、という結論。

  • IE7 用の Greasmonkey を作ろうとしているプロジェクトはかつて存在したんだけど、すでに活動停止(プロジェクト自体が破棄された)。
  • もう1つの希望の星、IE で userscript を使えるようにする IE7pro は、なんかいろいろ動作があやしげ(デフォルト設定のままだと、ユーザの知らない間に、素性の知れない proxy サーバに何かのデータを送ってしまう [→ proxy switcher 機能を使わないように設定し、あらかじめ登録済みのproxyサーバのアドレスを全部削除すれば、一応、大丈夫みたいではあるんですが、他にも何かあるんじゃないかと疑ってしまう])なので使うのは控えたい。

自分で IE 用の Greasemonkey っぽいものを作るのはちょっとしんどいし、いっそのこと、userscript をサポートしているブラウザを作ってしまった方が早いかも、ってことで、ブラウザを作り始めました。ブラウザ本体に userscript 機能があって、かつ、主要な userscript を一通り用意しておいて一緒に配布すれば、Autopagerize (や、その他便利スクリプト)を使う人の数がそれなりに増えそうな気もしますしね! Autopagerize の快感を多くの人に体験してもらうには、ブラウザ本体に最初から組み込んであるのが理想。

で、そんな簡単にブラウザが作れるのかというと、確かに一から全部作るのは大変だけど、いわゆる「IEコンポーネント」を使うことにすれば、ユーザインターフェース部分(と、最小限のロジック)だけ自分で作れば OK。単に、Web ページを閲覧するだけなら、「10 行でズバリ !! 簡単 WebBrowser の作成 (C#)」のサンプルプログラムでも十分。IEコンポーネントを使っているので、いままでに蓄積した右クリック(MenuExt)スクリプト群もそのまま使えるし(MenuExt だけではなくて、bookmarklet をもサポートするには、少しコードを書かないといけないけど)。

とりあえず、userscript をサポートするには、Webサーバから取ってきた html を書き換えて、userscript を読み込んで実行するようにすればいいだけなので、割と簡単。書き換え後の html + Javascript を実行するのは WebBrowser コントロールへ丸投げすることで実現できるので、要するに、html を書き換えるところだけ、自前で作成すればいいってこと。

はじめは、userscript をサポートするんじゃなくて、Autopagerize 相当の機能そのものをブラウザに組み込んでみようと考えていたんですが、WebBrowser コントロールでは、Mouse 関係のイベントとか、拾えないイベントが多すぎて、断念。 rel="next" な辺りにマウスをもっていったときに発生するイベントを WebBrowser コントロールでは拾えない。拾えるようにするには、Control クラスを元に、自前の WebBrowser 相当クラスをフルスクラッチで作るしかなさそう。ということで、userscript をサポートする方向に転換。Firefox + Greasemonkey 前提の(オリジナルの) Autopagerize はそのままでは動かないので、IE 向けにある程度手を入れる必要があります。どのくらいの作業量が必要なのかは、まだ不明。ある程度、やってみないと、見えてこないかも。

ってな感じで、本当に実現できるのかどうか、まだよくわかりませんが、やり始めてみたところです。

関連

参考

投稿者: tsupo 2008.03.04 午前 06:12 | 固定リンク | このエントリーをはてなブックマークに追加 | このエントリを del.icio.us に登録 このエントリの del.icio.us での登録状況 | このエントリを Buzzurl に追加このエントリの Buzzurl での登録状況 | このエントリをlivedoorクリップに登録 このエントリのlivedoorクリップでの登録状況 このエントリをlivedoorクリップに登録している人の数 | 酢鶏巡回中

楽天市場


プログラミング」カテゴリ内の最近の記事

品揃え豊富で安い!NTT-X Store


アマゾンわくわく探検隊

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/6737/40365547

この記事へのトラックバック一覧です: WebBrowserコントロールで試行錯誤 ― IEコンポーネント利用ブラウザによる Autopagerize の実現に向けて:

» WebBrowserコントロールで試行錯誤 ― userscript を実現する方法をいろいろ試してみる from 観測気球
いろいろ試行錯誤してみましたが、WebBrowserコントロールを使いつつ、userscript機能を実現するのは、簡単にはできないようです。まだ、何かいい方法はあるはず。たぶん。 続きを読む

受信: 2008.03.09 午前 07:12

コメント

コメントを書く




※イタズラ防止のため、メールアドレスを入力しないと投稿できません。

次からのコメント入力の手間を省くために、名前やメールアドレスをcookieに記憶しますか?


URL を入力すると、その URL にリンクがはられます。
なお、メールアドレスは公開されません。ご安心ください。


ワード

ニッセン

fujisan.co.jp

楽天市場