Open SearchプラグインにAjax 検索を

このページは更新されていません。恒久的にメンテナンスされないかもしれません。ページの内容については作成時点での情報に基づいたものです。

Ajax JSON SearchをOpen Searchとして対応させておきました。

現在、Ajax JSON Searchではなく、Google カスタム検索を導入した検索用ページに移動するようになっています。

えっと、記事一覧ページをクリックするつもりが、新規エントリ作成になってしまい、まいいか、と思って下書き状態にしておいたのですが、勿体ぶっててもしょうがないと思い、記事を書いて(公開|後悔)することにしました。

そういえば、MTの管理ページには、「ブログを書く」という大きなタブがあるのに、今までずっと「新規作成」のメニューから記事を書いてました。orz

小言はこのくらいにして、密かに(謎)ですが、使ってもらえるというものでもなさそうなんだけど、このブログのトップページサイトのトップページ等にOpenSearchプラグインが自動検出されるように対応させておきました。今のところ、各記事ページには配置してません。サイトに来られて興味をもたれたかたが利用されたらいいかなと思ったので。検索のページは、Ajax検索を使ったページでmt-search.cgiに依存しないし、自分が過去ログからあれこれ探すというのにも都合がよかったりします。

OpenSearchについては以下のページにまとめられており、導入するまでにどこを参照したらいいのかがわかりやすくなっています。

追記:参照サイトのリンクを忘れていました。すみません。

というわけで、コチラが説明することはあまりないのですけど、自分が躓いてたとこのメモとして記しておきます。

FIrefoxの OpenSearchプラグインの書き方の説明ページ(Creating OpenSearch plugins for Firefox)のサンプルで、以下のようにあるのですが、

<Url type="text/html" method="method" template="searchURL">
  <Param name="paramName1" value="paramValue1"/>
  ...
  <Param name="paramNameN" value="paramValueN"/>
</Url>

この書き方だと、IE7で読み込んでくれないので、直にUrl要素のtemplateのところに書く必要があります。結局FirefoxでもIEでも動作できる書き方は以下となるようでした。

  • <Url type="text/html" method="GET" template="searchURL?query={searchTerms}" />

あと、moz:SearchForm要素ですが、試した限りでは、Firefoxの検索ボックスで何も検索語をいれずに検索を実行したときに、moz:SearchFormに記述したURIに移動するようです。なので、検索専用のページを指定すれば、そのページが表示されるというわけです。ちなみに、Ajax検索を使った検索ページでは、パラメタなしでアクセスしたときは検索が実行されないように作ってあります。

#半分ヤケクソで書いてるわりに長くなってしまいました。(汗;

Comments:

コメントをどうぞ。書き込む場所が不明な場合やサイトオーナーへのコンタクトは、GuestBookまでお気軽にどうぞ

blog comments powered by Disqus