Как стать автором
Обновить

Просимся в поиск к пользователю с помощью OpenSearch

Время на прочтение2 мин
Количество просмотров12K
Хабрапоиск
На картинке есть одна деталь, которую не все замечают. Подсветка стрелки выпадающего меню. Значит сайт, на котором вы находитесь, предлагает добавление поискового плагина. Работает в Firefox и IE.


Делается это с помощью подключения через <link> XML-файла формата OpenSearch. Простейший вариант для Хабра будет иметь вид:

<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName>Хабрахабр</ShortName>
<Image height="16" width="16" type="image/vnd.microsoft.icon">habrahabr.ru/favicon.ico</Image>
<InputEncoding>utf-8</InputEncoding>
<Url type="text/html" method="get" template="http://habrahabr.ru/search/?q={searchTerms}"/>
</OpenSearchDescription>

Подключается эта конструкция тегом:

<link rel="search" type="application/opensearchdescription+xml" title="Хабрахабр" href="/habrasearch.xml">

Вуаля! Теперь можно добавить Хабр в ваш список поисковых систем. Важная фича (update из лички) — чтобы стрелка погасла после добавления плагина атрибут title тега <link> и тег <ShortName> xml-ки должны быть идентичны.

Также легко можно сделать автодополнение запроса (не для Хабра, так как нужно выдавать предположения в другом формате, нежели они отдаются по адресу habrahabr.ru/ajax/suggest). Добавляем в конец строку вида:

<Url type="application/x-suggestions+json" method="get" template="http://site.com/suggestion.php?q={searchTerms}"/>

И по адресу /suggestion.php отдаем предположения в следующем формате (упрощенный вариант):

["то, что уже ввел юзер", ["предположение №1", "предположение №2", "предположение №3"]]

Вот так это работает на одном из подшефных сайтов. Желающие могут все это навернуть, поглубже почитав вышеприведенную ссылку на opensearch.org

P.S. Хабраграждане — используйте OpenSearch! За это вам будет благодарность от пользователей и лишний аргумент в борьбе за букмарк-посетителей.
Теги:
Хабы:
Всего голосов 88: ↑80 и ↓8+72
Комментарии30

Публикации

Истории

Ближайшие события

19 сентября
CDI Conf 2024
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн