- 2009-02-06 (金)
- Web And Technology
Microsoft Internet Explorer 8 の新機能のひとつ - Visual Search (ビジュアルサーチ、クイック検索、検索プロバイダー、MSさん名称模索中...) - に対応した「エイビーロード 海外旅行 ビジュアルサーチ」をリリースしたのですが、ユーザーの方からの問い合わせで動作しなくなっていた事が発覚。俺の環境では正常動作しているのに何故?と原因特定&対策打つのにてんやわんや。誰かが同じようなハマり方をしないよう、グチを晒す 知見を共有。
現象
クイック検索のレスポンスがすべて「エラーが発生しました」になる
発生ケース
- IE8 の Beta 1 バージョンで開発/動作確認していたものを
- (2009.02.06 時点での)最新バージョン RC1 で動作させようとするとエラーになる
という、「いままで動いていたものが、ブラウザバージョンを最新化させると急に動かなくなる」ケース。まあ正式リリース版では無く、Beta 1 → RC1 という過程での不具合なのであまり文句は言えない感じですが。
解決策
<Url type="application/x-suggestions+xml" template=""/> で指定する候補結果のレスポンスXMLの冒頭:
<?xml version="1.0" encoding="UTF-8" ?> <SearchSuggestion>
ここに xmlns 属性を追加してあげる事で解決しました:
<?xml version="1.0" encoding="UTF-8" ?>
<SearchSuggestion xmlns="http://schemas.microsoft.com/Search/2008/suggestions">
xmlns に指定するURLは上記または http://opensearch.org/searchsuggest2 でもOK。wikipedia の visual search は後者を使っている事を確認。
MSDN の IE8 visual search 開発者用ドキュメントもいつの間にか修正されている。ちきしょー。
サンプルXML
エイビーロード 海外旅行 ビジュアルサーチ が返している application/x-suggestions-xml レスポンスはこんな感じです。
キーワード「ダイビング」の検索結果
以上、お気をつけくださいませ...
- Newer: Cooliris がローカルファイルをサポート!
- Older: 東京ゲームショウ 2008 に行ってきた