![](/fwcr/special/custom_browser/gra2.gif)
特集: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 を一緒に使う |
プロフィール 中山淳 2003年にアリエル・ネットワークに入社。スケジュールモジュールを中心に開発を担当。 |
4/4 |
INDEX |
||
調べもの専用Googleブラウザを作ってみよう | ||
Page1<調べもの専用ブラウザを作ってみよう> メリットとデメリット/カスタムブラウザの開発を始める前に |
||
Page2<カスタムブラウザの基礎作り> Hello Worldアプリケーションで動作確認 |
||
Page3<カスタムブラウザの作成> カスタムブラウザらしいコードを追加する |
||
![]() |
Page4<調べもの専用Googleブラウザ> プラスαの価値をカスタムブラウザ |
- GASで棒、円、折れ線など各種グラフを作成、変更、削除するための基本 (2017/7/12)
資料を作る際に、「グラフ」は必要不可欠な存在だ。今回は、「グラフの新規作成」「グラフの変更」「グラフの削除」について解説する - GET/POSTでフォームから送信された値をPHPで受け取る「定義済みの変数」【更新】 (2017/7/10)
HTMLのフォーム機能についておさらいし、get/postメソッドなどの内容を連想配列で格納するPHPの「定義済みの変数」の中身や、フォーム送信値の取り扱いにおける注意点について解説します【PHP 7.1含め2017年の情報に合うように更新】 - PHPのfor文&ループ脱出のbreak/スキップのcontinue【更新】 (2017/6/26)
素数判定のロジックからbreak文やcontinue文の利点と使い方を解説。for文を使ったループ処理の基本とwhile文との違い、無限ループなども併せて紹介します【PHP 7.1含め2017年の情報に合うように更新】 - Spreadsheetデータの選択、削除、挿入、コピー、移動、ソート (2017/6/12)
Spreadsheetデータの選択、挿入、削除、コピー、移動、ソートに使うメソッドの使い方などを解説する
![]() |
|
|
|
![]() |