Firefox用Googleブログ検索プラグインを作ってみた
プラグインといっても、XMLファイルを書いてFirefoxに食わせるだけなんですね。とりあえず、Firefox1.5で対応しているSherlock形式とFirefox2.0から対応しているOpenSearch形式で作ってみました。
Sherlock形式の場合
Sherlockの詳細はこの辺を参照。
まずは、検索エンジンの情報を
<search name = "Googleブログ検索" description = "Googleブログ検索" sourceTextEncoding = "1" action = "http://blogsearch.google.co.jp/blogsearch" method = "GET" queryCharset="UTF-8" > <input name="hl" value="ja"> <input name="q" user> <input name="btnG" value="%E3%83%96%E3%83%AD%E3%82%B0%E6%A4%9C%E7%B4%A2"> <input name="lr" value="lang_ja"> <interpret charset = "UTF-8" > </search>
のような感じで「blogsearch.src」として作成します。Sherlock形式ではjavascriptを使って登録することになるようなので、とりあえず以下のようなHTMLを作りました。ちなみに、はてなのものを参考にさせてもらいました :-)
<ul class="noliststyle"> <li><a href="javascript:addEngine('http://www.example.com/blogsearch.src','http://www.example.com/icon.png', 'Googleブログ検索','');">追加</a></li> </ul> <script type="text/javascript"><!-- function addEngine(engineURL, iconURL, engineName, categoryName) { if ((typeof window.sidebar == "object") && (typeof window.sidebar.addSearchEngine == "function")) { window.sidebar.addSearchEngine( engineURL, iconURL, engineName, categoryName ); } else { alert("サーチエンジンを追加するには、FirefoxかMozillaが必要です。"); } } --></script>
このHTMLにブラウザからアクセスしリンクをクリックすると、検索バーに追加することができます。
OpenSearch形式の場合
OpenSearchの詳細はこの辺を参照。
まずは、検索エンジンの情報を記載したXMLファイルを作成します。ここではファイル名を「blogsearch.xml」としました。
<?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> <Image width="16" height="16">data:image/x-icon;base64,AAABAAEAEBAAAAAAAABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8A//3/AP39/wD6/f8A+P3/AP/8/wD9/P8A+vz/AP/7/wD/+v8A/vr/APz6/wD4+v8A+/n/APP5/wD/+P8A+vj/AO/4/wDm+P8A2fj/AP/3/wD/9v8A9vb/AP/1/wD69f8A9PT/AO30/wD/8/8A//L/APnx/wD28P8A///+APj//gD2//4A9P/+AOP//gD//f4A6f/9AP///AD2//wA8//8APf9/AD///sA/v/7AOD/+wD/+vsA9/X7APr/+gDv/voA///5AP/9+QD/+/kA+e35AP//+ADm//gA4f/4AP/9+AD0+/gA///3APv/9wDz//cA8f/3AO3/9wD/8fcA//32AP369gDr+vYA8f/1AOv/9QD/+/UA///0APP/9ADq//QA///zAP/18wD///IA/fzyAP//8QD///AA9//wAPjw8AD//+8A8//vAP//7gD9/+4A9v/uAP/u7gD//+0A9v/tAP7/6wD/+eoA///pAP//6AD2/+gA//nnAP/45wD38eYA/fblAP/25AD29uQA7N/hAPzm4AD/690AEhjdAAAa3AAaJdsA//LXAC8g1gANH9YA+dnTAP/n0gDh5dIADyjSABkk0gAdH9EABxDRAP/l0AAAJs4AGRTOAPPczQAAKs0AIi7MAA4UywD56soA8tPKANTSygD/18kA6NLHAAAjxwDj28QA/s7CAP/1wQDw3r8A/9e8APrSrwDCtqoAzamjANmPiQDQj4YA35mBAOmefgDHj3wA1qR6AO+sbwDpmm8A2IVlAKmEYgCvaFoAvHNXAEq2VgA5s1UAPbhQAFWtTwBStU0ARbNNAEGxTQA7tEwAObZIAEq5RwDKdEYAULhDANtuQgBEtTwA1ls3ALhgMQCxNzEA2FsvAEC3LQB0MCkAiyYoANZTJwDLWyYAtjMlALE6JACZNSMAuW4iANlgIgDoWCEAylwgAMUuIAD3Vh8A52gdALRCHQCxWhwAsEkcALU4HACMOBwA0V4bAMYyGgCPJRoA218ZAJM7FwC/PxYA0msVAM9jFQD2XBUAqioVAIAfFQDhYRQAujMTAMUxEwCgLBMAnxIPAMsqDgCkFgsA6GMHALE2BAC9JQAAliIAAFYTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AsbGxsbGxsbGxsbGxsbGxd7IrMg8PDw8PDw8PUBQeJXjQYE9PcKPM2NfP2sWhcg+BzTE7dLjbmG03YWaV4JYye8MPbsLZlEouKRRCg9SXMoW/U53enGRAFzCRtNO7mTiAyliw30gRTg9VbJCKfYs0j9VmuscfLTFbIy8SOhA0Inq5Y77GNBMYIxQUJzM2Vxx2wEmfyCYWMRldXCg5MU0aicRUms58SUVeRkwjPBRSNIfBMkSgvWkyPxVHFIaMSx1/0S9nkq7WdWo1a43Jt2UqgtJERGJ5m6K8y92znpNWIYS1UQ89Mmg5cXNaX0EkGyyI3KSsp6mvpaqosaatq7axsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</Image> <Url type="text/html" method="GET" template="http://blogsearch.google.co.jp/blogsearch"> <Param name="hl" value="ja"/> <Param name="q" value="{searchTerms}"/> <Param name="btnG" value="%E3%83%96%E3%83%AD%E3%82%B0%E6%A4%9C%E7%B4%A2"/> <Param name="lr" value="lang_ja"/> </Url> <moz:SearchForm>http://www.doyouphp.jp/</moz:SearchForm> </OpenSearchDescription>
登録にはSherlock形式の場合と同様にjavascriptを使った登録もできますが、HTMLファイルに
<link rel="search" type="application/opensearchdescription+xml" title="Googleブログ検索" href="http://www.example.com/blogsearch.xml" />
と記載しておくだけで、検索バーから登録できるようになります。ビミョーですが、linkタグを記載したページを表示すると、検索バーの表示が変わります(赤い丸のところにマークが出ます)。
ちなみに、OpenSearchはInternet Explorer 7でも対応しています。
手持ちのIE7では登録はできましたが、検索バーからの検索がうまくいきませんでした。書き方が悪いのかな。。。まあ、IE使ってないので問題ないんですが ;-)