検索バーにお好みのエンジンを追加する方法

日記| | 2009.07.10

ブラウザの右上にある検索バーには、あらかじめ色々と検索エンジンが入っておりますが。
ぶっちゃけGoogleやYahoo固定で使ってる人多いんじゃないでしょうか。

先日、用途別にFirefoxをカスタマイズ!でもご紹介したように、起動ショートカットごとに用途が分かれたのでどうせなら検索バーもカスタマイズしたくなりました。

たとえば、Goo辞書のように、インストール用ページ(http://guide.search.goo.ne.jp/apply/firefox/install.php)を用意してくれてるところはすぐ登録できますが・・・。

どうせなら言語のリファレンスマニュアルや、個人のWikiなども追加できたらいいですよね。

そんなわけで、その辺をちょっと調べてきました。
(・・・Google先生に聞けばすぐなんでしょうが、今回はGoo辞書のソースを探ってみたという。探ったときの勘所などはまた別の機会に書いてみようと思います)

用意するもの

Firefox2以上
検索したいWEBサイト
ファイルがアップロードできるレンタルサーバー
文字コードが色々扱えるテキストエディタ(TeraPadなど)

検索したいWEBで検索してみる

たとえばMySQL(http://search.mysql.com/)で検索して、アドレス欄を確認。

例)「DATE_FORMAT」を検索した
http://search.mysql.com/search?site=refman-41&q=DATE_FORMAT&lr=lang_ja

「検索した文字」がURLに入ってたら、検索バーに追加できるサイトと判断します。
(余談ですが、仕事で「検索文字列をGETで受け取っているか確認する」と言うと↑のような事を指します)

検索語句が日本語だと、アドレスの中に「%8E%9E%8D%8F%8A%D6%90%94」とか日本語を文字コード化したものが入ることがあります。
違う言葉で再度検索してみて、文字コード化されたところが変化していたらそこが「検索した文字」に当たるところと判断しましょう。

OpenSearchにのっとったXMLファイルを作成

ブラウザに追加するためには、検索エンジン名、URL、アイコン等をまとめたXMLファイルを作成する必要があります。
中身は、こんなかんじ。


サーチエンジン名
http://検索エンジンのアイコンURL
UTF-8
UTF-8

テキストエディタで作ってもいいんですが、更に便利なRady2Search(http://ready.to/search/jp/)へアクセスして作成します。
前項で確認したアドレスを、「DATE_FORMAT」の前と後で分けて入力。

入力し終わったら、[検索プラグイン作成]ボタンを押します。

日本語の検索をするときは、文字コード無変換だとうまくいかないことがあるので。
あらかじめそのサイトの文字コードを調べておいて指定します。
具体的には、検索したいサイトを開いて[表示]→[文字エンコーディング]でチェックの入っている文字コードを指定します。

下に出てくる[検索設定(OpenSearch)をダウンロード]をクリックして一旦PCに落とした後、レンタルサーバーにアップロードします。
ローカルに置いたままフルパス・相対パス試しましたがインストールできなかったので。

インストール用HTMLファイルを作る

ブラウザにそのままXMLファイルを読ませればいいってもんではなくて、Javascriptを使ったインストールをしなければいけないようです。

というわけで、1つHTMLファイルを作ってみる。






検索エンジンインストールてすと

window.sidebar.addSearchEngineの詳細は
ウェブページからの検索エンジンの追加(https://developer.mozilla.org/ja/Adding_search_engines_from_web_pages)
をご覧ください。

コレはローカルに保存してOKです。

ブラウザに、HTMLを読ませる

ローカルに置いたインストール用HTMLをブラウザに読ませます。

[追加]をクリックすると

登録されてます。

どうでしょう。
ちゃんと検索できました?

ちなみに、検索バーのエンジン切り替えは、マウス操作以外だと文字列入力後に[Alt]+[↑]または[↓]ですることができますよ。