Pull to refresh

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

Reading time2 min
Views12K
Хабрапоиск
На картинке есть одна деталь, которую не все замечают. Подсветка стрелки выпадающего меню. Значит сайт, на котором вы находитесь, предлагает добавление поискового плагина. Работает в 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! За это вам будет благодарность от пользователей и лишний аргумент в борьбе за букмарк-посетителей.
Tags:
Hubs:
Total votes 88: ↑80 and ↓8+72
Comments30

Articles