Firefoxの検索バーのプラグインを自作する

検索プラグインを使えば、検索フォーム(やブックマーク)から設定すると日本語が化けてしまうサーチエンジンでも、日本語を文字化けを防止して、アドレスバーからの検索ができます。
しかし、検索プラグインが用意されているものは限られています。


検索プラグインテキストエディタを使って自分で作ることができます。
検索プラグインのファイルは、文字コードUTF-8、改行コードはLFで作成しますので、
文字コードと改行コードの設定ができるテキストエディタを使います。
WindowsならOEditMac OS XならCotEditormiなど)


ここでは、最小限の構成での検索プラグインの作り方を説明します。
まず完成形を見てみましょう。
ファイルの中身は以下のようなものになります。

<?xml version="1.0"  encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" xmlns:moz="http://www.mozilla.org/2006/browser/search/">
  <ShortName>Google</ShortName>
  <Description>Google</Description>
  <InputEncoding>UTF-8</InputEncoding>
  <Url type="text/html" method="GET" template="http://www.google.co.jp/search?hl=ja&amp;q={searchTerms}&amp;lr=lang_ja" />
</OpenSearchDescription>

ShortNameの項目には、サーチエンジンの短縮名、
Descriptionの項目には、サーチエンジンの名前(完全名)、
InputEncodingの項目には、サーチエンジン文字コード
Urlの項目には、サーチエンジンURI文字列を書きます。


上記の完成形をテキストエディタにコピー&ペーストして、それを書き換えていくことにします。
短縮名と名前は、サーチエンジンの機能には影響がないので、好きに入れてかまいません。
重要なのは文字コードURI文字列です。

作りたいサーチエンジンに、英字か英単語を入れて検索してみます。
そして、メニューバーの「表示」→「文字エンコーディング」を見ると、そのサーチエンジンで使われている文字コードにチェックが入っているはずです。
(ほとんどの場合はUTF-8Shift_JISEUC-JPのいずれかです)
それを InputEncoding の項目に書き込みます。これで文字コードの設定は完了です。


次はURI文字列です。
まずは、検索結果のページのアドレスを、Urlの項目のtemplate=""の"と"の間にコピー&ペーストします。
するとその文字列の中には、検索した英字が含まれているはずです。
その部分を{searchTerms}に置き換えます。


それからもう一つ、&が含まれていたら、それはすべて、&に置き換えます。


これで検索プラグインは完成です。サーチエンジン名.xml というファイル名で保存します。
保存する場所は環境によっても違いますが、

Windows 2000/XP/Vista/7 なら

C:\Documents and Settings\<ユーザ名>\Application Data\Mozilla\Firefox\Profiles\xxxxxxxx.default\

Mac OS X なら

/Users/<ユーザ名>/Library/Application Support/Firefox/Profiles/xxxxxxxx.default/

Linux なら

~/.mozilla/firefox/xxxxxxxx.default/

であるのが一般的です。

検索プラグインFirefoxの再起動後に有効になります。