Firefoxは <Url type="application/xhtml+xml"/>
なOpenSearchに対応していない
Firefox や IE 7 以上はOpenSearchに対応しており、HTMLに次の記述を行うことで検索バーに追加可能となります。
<link rel="search" type="application/opensearchdescription+xml" href="http://example.com/content-search.xml" title="Content search" />
- 参考: Specifications/OpenSearch/1.1/Draft 4 - OpenSearch(
www.opensearch.org
)
実際に試してみようと思い、こんなXML(search.xml)を作成しました。
<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName>テスト検索</ShortName>
<Description>テスト用の検索です。</Description>
<Url template="http://localhost/testSearch?q={searchTerms}" type="application/xhtml+xml"/>
</OpenSearchDescription>
しかし、 IE 7 はうまくいったのですが、 Firefox 3.6 で「Firefoxは次の場所から検索エンジンをダウンロードできませんでした:」というエラーが。
調べてみると、Url
要素のtype
属性に関してこんな文書が。
うは、application/xhtml+xml
はダメなのですか! 仕方なく、実際のMIMEタイプとは異なる text/html
を指定しましたが、ちょっと気持ち悪いですね。逆に、application/xhtml+xml
なコンテンツを表示できないIEでエラーが起こらないというのがなんとも…。