特集:Webアプリケーション+αの使い勝手を実現するカスタムブラウザの作り方

調べもの専用Googleブラウザを作ってみよう



アリエル・ネットワーク
中山淳
2006/12/7

 調べもの専用Googleブラウザ

 今度は、上記ページで紹介されているイベントの中からDISPID_BEFORENAVIGATE2イベントを選んで、Googleの検索単語の履歴を取る「調べもの専用ブラウザ」に発展させます。

 これは、Google(などのサービス)を使ってWebで調べものをしているときに、何かの拍子でたどり着いたときは役に立つとは思わなかったページが後から必要になることが多い、という経験に基づいています。

 そのようなケースですでにそのページを閉じてしまった後でも、検索で使った単語さえ覚えていれば何とかなることが多いようですが、忘れてしまっていたらどうしようもありません。

 そこで、Googleで検索を行ったときにその検索語を記録していく機能を追加することにします。

実装方針は、

・DISPID_BEFORENAVIGATE2のイベント中でGoogleに対する検索語を抽出する

・抽出した単語は時系列でテキストファイルに記録する

とします。

1. DISPID_BEFORENAVIGATE2のハンドラを定義します。

[旧]

コード5 ここをクリックすると、縮小なしのテキスト画面が表示されます

[新]

コード6 ここをクリックすると、縮小なしのテキスト画面が表示されます

2. ハンドラの実体であるonBeforeNavigate2()の実装を追加します。少し長めのコードですが、URLに含まれるクエリ文字列を解析してファイルに出力しているだけです。

コード7 ここをクリックすると、縮小なしのテキスト画面が表示されます

3. メニューの[ビルド][ソリューションのビルド]を選んで、ビルドを行います。[出力]ペインに「ビルド: 1 正常終了、0 失敗」と表示されれば成功です。

4. メニューの[デバッグ][デバッグ開始]を選び、ビルドしたAtBrowserを実行します。Googleで検索すると、AtBrowserのカレントディレクトリに、keywords-history.txtというファイルが生成され、検索語とURL、検索した時刻が記録されます。

 この程度の機能であれば、比較的簡単に追加していくことができます。

 また、記録された検索語をもっと簡単に利用できるようなユーザー・インターフェイスを加えるのも難しくないので、挑戦してみるといいかもしれません。

 プラスαの価値を提供するカスタムブラウザ

 カスタムブラウザというアプローチは、通常のWebブラウザだけではできない機能や操作性を提供できる一方で、ユーザーにインストールの手間を強いるというマイナス面も持っています。

 従って、カスタムブラウザなしでもWebアプリケーションを使えることを前提に、プラスαの価値をカスタムブラウザは提供すべきです。

 何をWebで提供して何をカスタムブラウザで賄うか、といった判断は慎重に行う必要がありますが、取りあえず作ってみて、便利そうならそのままリリースして様子を見るというのも今日的で面白いのではないかと思います。

 本稿では説明し切れませんでしたが、カスタムブラウザではここに書いたことよりはるかに多くのことができます。

 IWebBrowser2やIHTMLDocument2といった言葉で探すと、Web上にも大量の情報が見つかりますので、研究してみてはいかがでしょうか。

参考

Visual C++ 2005 Express Edition と Microsoft Platform SDK を一緒に使う
Visual Studio 2005 Express Edition


プロフィール

中山淳

2003年にアリエル・ネットワークに入社。スケジュールモジュールを中心に開発を担当。
アリエル・マルチスケジューラ、アリエル・プロジェクトAの基本機能の開発も行っており、ジェネリックプログラミングとアセンブラ言語の両方に精通し、アーキテクチャからユーザビリティまで幅広い分野に対応できる。STLとBoostが好き。開発者ブログ


4/4  

 INDEX

調べもの専用Googleブラウザを作ってみよう
  Page1<調べもの専用ブラウザを作ってみよう>
メリットとデメリット/カスタムブラウザの開発を始める前に
  Page2<カスタムブラウザの基礎作り>
Hello Worldアプリケーションで動作確認
  Page3<カスタムブラウザの作成>
カスタムブラウザらしいコードを追加する
Page4<調べもの専用Googleブラウザ>
プラスαの価値をカスタムブラウザ


HTML5 + UX フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

HTML5+UX 記事ランキング

本日 月間