MozSearch プラグインの作成

by 3 contributors:

Firefox 2 は検索プラグインの格納に OpenSearch フォーマットを単純化した形式を使います。MozSearch 検索プラグインは検索エンジンとその URL、URL を解釈するのに必要なパラメータを記述した XML ファイルです。

警告: MozSearch は非標準で Mozilla プロジェクトの中での利用だけを目的としています。検索プラグインを Firefox の拡張機能にパックして配布するのが目的か、標準で Firefox ビルドに含まれる検索プラグインを作るためのみに使うべきです。ウェブからインストールする検索プラグインをつくなら、Creating OpenSearch plugins for Firefox を参照してください。

プラグインファイル

MozSearch 形式は OpenSearch フォーマットに似ています。違いはルート要素と XML 名前空間だけです(ただし XML としては非常に重大な違いです)。

例: Yahoo! を検索する

以下の XML は Yahoo! で検索するために Firefox 2 にバンドルされている検索プラグインです:

<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
<ShortName>Yahoo</ShortName>
<Description>Yahoo 検索</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image width="16" height="16">data:image/x-icon;base64,R0lGODlhEAAQAJECAP8AAAAAAP///wAAACH5BAEAAAIALAAAAAAQABAAAAIplI+py+0NogQuyBDEnEd2kHkfFWUamEzmpZSfmaIHPHrRguUm/fT+UwAAOw==</Image>
<Url type="application/x-suggestions+json" method="GET"
     template="http://ff.search.yahoo.com/gossip?output=fxjson&command={searchTerms}" />
<Url type="text/html" method="GET" template="http://search.yahoo.com/search">
  <Param name="p" value="{searchTerms}"/>
  <Param name="ei" value="UTF-8"/>
  <MozParam name="fr" condition="pref" pref="yahoo-fr" />
</Url>
<SearchForm>http://search.yahoo.com/</SearchForm>
</SearchPlugin>

仮にユーザが Yahoo! 検索エンジンプラグインを選び、検索ボックスに 'mozilla' と入力しエンターキーを押しとします。Firefox は以下のような検索 URL を作成するために上の検索エンジンの記述を使います。

http://search.yahoo.com/search?p=mozilla&ei=UTF-8&fr=moz2

もしユーザが検索バーの虫眼鏡のアイコンをクリックするか、検索バーが表示されていない時にツールメニューのウェブ検索オプションを選ぶと、ブラウザは <SearchForm> 要素の値である http://search.yahoo.com/ に移動します。

例: MDC を検索する

このプラグインで Mozilla Developer Center の Web サイト【訳注: 以下は日本語版用。このページの英語版にMozilla Developer Center 英語版用がある】を簡単に検索することができます。

<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
<ShortName>MDC</ShortName>
<Description>Mozilla Developer Center search</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image width="16" height="16">data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAABGdBTUEAAK%2FINwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz%2F%2Fz8DJQAggJiQOe%2Ffv2fv7Oz8rays%2FN%2BVkfG%2FiYnJfyD%2F1%2BrVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw%2F8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi%2FG%2BQKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo%2BMXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia%2BCuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq%2FvLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg%2FkdypqCg4H8lUIACnQ%2FSOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD%2BaDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg%3D%3D</Image>
<Url type="text/html" method="GET" template="http://developer.mozilla.org/en/docs/Special:Search?search={searchTerms}"/>
<SearchForm>http://developer.mozilla.org/ja/docs/Special:Search</SearchForm> 
</SearchPlugin>

この例では検索エンジンのパラメータを定義するために <Param> ではなく単純にテンプレート URL の中に埋め込んでいることに注意してください。これは実際にメソッドとして GET を使うときに都合のよい方法です。<Param>POST のために使うべきです。


参照

ドキュメントのタグと貢献者

Contributors to this page: Mgjbot, Taken, Level
最終更新者: Mgjbot,