Pull to refresh

Хабрапоиск + Визуальный поиск в IE8

Reading time3 min
Views629
Категорически приветствую тебя %username%.
Не знаю как у Вас, а у меня ночью наступает «творческий порыв», о чем я обычно утром очень сильно жалею. Но не будем сейчас о плохом, т.к. пока не утро, то я еще успею поделиться одним из своих маниакальных творений
Я давно наслышан про нововведения в IE8 (веб фрагменты, ускорители, визуальный поиск) и как-то захотелось попробовать сделать одно из них.

Для начала необходимо определиться, что именно будем делать, но чтобы получилось что-то интересное, желательно иметь свой сервис, а т.к. ничего интересного у меня сейчас не водится, то я решил стырить позаимствовать контент у многострадального хабрахабра. В процессе нелегкого выбора, было решено, что делать буду визуальный поиск. Более подробное описание которого можно найти тут, ну или вот тут посмотреть с картинками.
Цель: чтобы в поисковой строке IE8 появлялись подсказки, как в строке поиска на сайте хабрахабра.


Но т.к. базы хабрахабра у нас нет, то мы пойдем другим путем. Нам известно, что раз страничка хабрахабра получает динамически подсказки, то значит и мы сможем :). Открываем firefox и изучаем как оно запрашивает данные.




Теперь становится понятен весь механизм. Далее остается написать несколько строк на C# для запроса данных с хабрахабра и генерации xml в формате, который понимает IE8.

<?xml version="1.0"?>
<SearchSuggestion xmlns="http://schemas.microsoft.com/Search/2008/suggestions">
  <Query>xbox</Query>
  <Section>
  <Item>
    <Text>Xbox 360</Text>
    <Description>The official Xbox website from Microsoft</Description>
    <Url>www.xbox.com</Url>
  </Item>
  <Item>
    <Text>Xbox cheats</Text>
    <Description>Codes and walkthroughs</Description>
    <Url>www.example.com/xboxcheatcodes.aspx</Url>
  </Item>
  <Item>
    <Text>Xbox 360 games</Text>
    <Description>Games and accessories</Description>
    <Url>www.example.com/games</Url>
  </Item>
  </Section>
</SearchSuggestion>

Далее описываем нашего провайдера визуального поиска:

<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
  <ShortName>HabraSearch</ShortName>
  <Image height="16" width="16" type="image/icon">habrahabr.ru/i/favicon.ico</Image>
  <Url type="text/html" template="http://habrahabr.ru/search/?q={searchTerms}"/>
  <Url type="application/x-suggestions+xml" template="http://habrasearch.bushelper.biz/search.ashx?terms={searchTerms}"/>
</OpenSearchDescription>

И заливаем получивсийся хэндлер с описанием на хост, откуда и доступна его установка в IE8.
Собственно после установки провайдера в IE8 можно увидеть следующее:

Где данные берутся с хабрахабра и приводятся к нужному формату у нас на хосте.
Tags:
Hubs:
Total votes 90: ↑83 and ↓7+76
Comments18

Articles