Расширяемость поставщика поиска в Internet Explorer

Начиная с Windows Internet Explorer 7 поле быстрого поиска предоставляет возможность автозаполнения, так что пользователи могут выполнять поиск с условиями, похожими на использовавшиеся в предыдущих поисках. Internet Explorer 7 также позволяет пользователям добавить несколько поставщиков поиска. Улучшения поиска в Internet Explorer 8 сфокусированы на помощи пользователям, существенно улучшая раскрывающееся меню поля быстрого поиска и поддерживая предложения поиска.
Этот раздел предназначен для двух аудиторий: конечных пользователей и разработчиков веб-сайтов. Первая часть этой статьи сосредоточена на помощи конечным пользователям в установке поставщиков поиска, управлении поставщиками поиска и использовании поставщика поиска для нахождения того, что им нужно. Вторая часть раздела фокусируется на разработчиках веб-сайтов, показывая, как рекламировать поставщик поиска и использовать предложения поиска для улучшения взаимодействия с пользователем с помощью поставщика поиска.

В этом разделе обсуждаются следующие темы:

  • Функции поиска конечного пользователя
    • Добавление поставщиков поиска 
    • Управление поставщиками поиска 
    • Поиск с помощью избранных поставщиков поиска 
    • Советы и приемы 
  • Функции поиска веб-разработчика 
    • Создание файла описания Open Search 
    • Рекламирование поставщиков поиска 
    • Поддержка предложений поиска 
    • Получение размеров для меню предложений поиска 
    • Идентификация источников ссылок поиска 
    • Локализация предложений поиска 
    • Примечания 
  • Связанные темы

Функции поиска конечного пользователя

Функция быстрого поиска в Internet Explorer 8 позволяет конечному пользователю добавлять избранных поставщиков поиска и быстро переключаться между поставщиками во время поиска. Internet Explorer 8 поддерживает предложения поиска для помощи пользователям в инициализации улучшенных поисковых запросов. Поставщики поиска также могут предоставлять мгновенные ответы на запросы. Помимо использования поля быстрого поиска пользователи могут обращаться к поставщикам поиска через меню ускорителей. Эти функции предназначены для улучшения эффективности поиска и повышения производительности для конечных пользователей.
В этом разделе рассматриваются следующие темы:

  • Добавление поставщиков поиска 
  • Управление поставщиками поиска 
  • Поиск с помощью избранных поставщиков поиска 
  • Советы и приемы 

Добавление поставщиков поиска

Поле быстрого поиска в правом верхнем углу окна браузера Internet Explorer 7 и Internet Explorer 8 заменило помощник по поиску Windows (или область поиска). Чтобы можно было использовать определенного поставщика поиска, его необходимо добавить в список. Чтобы добавить поставщика поиска, перейдите на его веб-сайт. Существует два способа установки поставщика поиска.

Во-первых, на веб-сайте поставщика может отображаться ссылка или кнопка, которую можно нажать, чтобы добавить поставщика поиска в список. При нажатии на ссылку или кнопку открывается диалоговое окно Добавление поставщика поиска, в котором можно подтвердить выбор.

Рис. 1. Диалоговое окно Добавление поставщика поиска.

Если этот поставщик поиска уже установлен, отобразится диалоговое окно с соответствующим сообщением или с вариантами обновления этого поставщика. Например, поставщик поиска может предложить использование предложений поиска, тогда как раньше эта возможность не предоставлялась.

Второй способ добавления поставщика поиска — это обнаружение. После загрузки веб-страницы поставщика стрелка раскрывающегося списка в поле быстрого поиска становится оранжевой, показывая, что можно установить поставщика поиска.

Рис. 2. Оранжевая стрелка раскрывающегося списка в поле быстрого поиска.

При нажатии на оранжевую стрелку отображается список установленных поставщиков поиска и другие доступные параметры. Слева от имени обнаруженного браузером Internet Explorer 8 поставщика поиска отображается золотистый значок. При выборе команды Добавление поставщика поиска отображается список доступных поставщиков. На следующем рисунке показаны параметры Live Search: Продукты, изображения и видео.

Рис. 3. В меню Добавление поставщика поиска отображаются поставщики поиска и параметры поиска.

Примечание. Чтобы помочь начать работу с этой функцией, в коллекции Internet Explorerимеется список доступных поставщиков. К коллекции можно обратиться в любой момент, выбрав команду Найти другие службы... из раскрывающегося меню в поле быстрого поиска, как показано на Рис. 3.

Добавление собственного поставщика поиска

Если поставщик поиска не предоставляет прямой способ добавления в список поставщиков, это можно сделать вручную. Следуйте инструкциям на странице Руководство по поиску Windows, чтобы создать собственного поставщика поиска. Обратите внимание, что этот виджет добавляет только поставщика поиска, без предложений поиска. Если известно, что поставщик поддерживает предложения поиска, используйте для добавления поставщика его веб-сайт.

Управление поставщиками поиска

Можно установить максимум 200 поставщиков поиска, так что управление ими может быть затруднительным. Для управления поставщиками поиска в Internet Explorer 8 щелкните стрелку раскрывающегося меню в поле быстрого поиска и выберите команду Управление поставщиками поиска. Можно изменить порядок поставщиков, изменить статус поставщика по умолчанию и удалить поставщика, как показано на следующем рисунке.

Рис. 4. Диалоговое окно Управление надстройками Internet Explorer.

Чтобы изменить атрибуты поставщика поиска, щелкните его имя, внесите изменения и нажмите кнопку Закрыть.

Примечание. Удалить текущего поставщика по умолчанию невозможно. Чтобы удалить поставщика по умолчанию, необходимо задать статус по умолчанию для другого поставщика. Для этого откройте диалоговое окно Управление поставщиками поиска, выберите другого поставщика и нажмите кнопку По умолчанию. Затем выберите поставщика, которого необходимо удалить, и нажмите кнопку Удалить.

Поиск с помощью избранных поставщиков поиска

Чтобы выполнить поиск, введите условие поиска в поле быстрого поиска. Хотя это поле может быть знакомо по Internet Explorer 7, в Internet Explorer 8 можно заметить существенные улучшения поиска.
Если щелкнуть в поле быстрого поиска, отобразится меню Quick Pick. В меню Quick Pick отображается столько значков поставщиков поиска, сколько позволяет отобразить ширина поля быстрого поиска, что упрощает переключение между поставщиками. Чтобы увидеть больше поставщиков поиска в меню Quick Pick, увеличьте размер поля быстрого поиска. Можно использовать одно и то же условие для поиска с помощью этих поставщиков, не переходя на веб-сайт каждого из них.

Рис. 5. Меню Quick Pick.
После ввода условия поиска нажмите клавишу ВВОД, чтобы использовать текущего поставщика поиска, или выберите поставщика из меню Quick Pick, чтобы выполнить поиск. Если используемый поставщик поиска поддерживает предложения поиска, то эти предложения отображаются по мере ввода. Например, при поиске "Xbox" с помощью Live Search, можно увидеть следующий список предложений.

Рис. 6. Раскрывающееся меню предложений Live Search.

В верхней части меню предложений находится раздел автозаполнения, в котором отображаются недавние условия поиска, соответствующие текущему условию. Второй частью меню предложений является раздел предложений, в котором приводится список предложений поиска, предоставленных текущим поставщиком. Третья часть меню предложений — это раздел журнала, в котором приводится список посещенных ранее веб-сайтов, соответствующих текущему условию поиска, с указанием их заголовков и URL-адресов. Совпадающие термины выделяются. Можно выбрать для поиска соответствующий термин. Меню Quick Pick отображается в нижней части меню предложений для быстрого доступа к основным поставщикам поиска.

Internet Explorer 8 позволяет поставщикам поиска отображать визуальные предложения. Поставщики поиска могут предоставить маленькое изображение и текст, как показано на следующем рисунке, или только изображение, которое может находиться среди обычных текстовых предложений.


Рис. 7. Визуальные и текстовые предложения для термина "Xbox"

Кроме того, поставщик поиска может поддерживать мгновенные ответы для условия поиска. С помощью мгновенных ответов поставщик может сразу предоставить ссылку на искомые данные, а не страницу результатов поиска. Это может сделать поиск более эффективным.

Поиск с помощью ускорителей

Ускорители — это новая концепция в Internet Explorer 8. Ускорители позволяют обращаться к поставщикам услуг в любом месте страницы. При каждом добавлении поставщика поиска в список Internet Explorer 8 автоматически преобразует его в ускоритель. Чтобы использовать эту функцию, выделите текст для поиска и щелкните появившийся значок ускорителей . Отобразится краткий список установленных веб-служб. Среди них есть и поставщик поиска по умолчанию. Чтобы использовать другого поставщика поиска, выберите команду Все ускорители. На следующем рисунке показано расширенное меню Все ускорители.

Рис. 8. В меню Все ускорители отображаются доступные веб-службы.

Еще одним преимуществом ускорителей является возможность предварительного просмотра результатов поиска. Если поставщик поиска поддерживает предварительный просмотр результатов поиска, можно просто выделить текст на веб-странице, щелкнуть значок ускорителей и навести курсор мыши на имя поставщика поиска (может понадобиться открыть список Все ускорители, чтобы найти его). Отобразится окно предварительного просмотра с результатами поиска для выбранных слов. Это еще больше ускоряет поиск с помощью установленных поставщиков и делает его более удобным. Дополнительные сведения об ускорителях см. в статье Руководство для разработчиков ускорителей OpenService.

Найти на странице

Функция Найти на странице — это еще одно улучшение взаимодействия с пользователем в Internet Explorer 8. Чтобы запустить поиск, выберите команду Найти в правой области меню Quick Pick или используйте сочетание клавиш CTRL+F. Функция Найти на странице выполняет поиск на текущей странице, используя термины в поле быстрого поиска. Как показано на следующем снимке экрана, все совпадения на странице выделяются, а первый совпадающий термин выбирается. Также отображается число совпадений на странице.

Советы и приемы

Ниже приведено несколько других функций и советов, не рассмотренных выше.

  • Журнал поиска можно удалить. Можно удалить из списка журнала предыдущие условия поиска и страницы журнала. Это полезно, если нежелательно, чтобы в разделе автозаполнения отображались ошибочно введенные термины. По мере ввода в адресной строке или в поле быстрого поиска предложения поиска отображаются вместе с предложениями автозаполнения и журнала. Наведите курсор мыши на элемент, который необходимо удалить из списка автозаполнения или журнала, и рядом с ним появится значок X, как показано на следующем рисунке. Щелкните значок X, чтобы удалить элемент из списка.
  • Поиск можно запустить из адресной строки. При использовании адресной строки текущий поставщик поиска будет использоваться для поддержки предложений поиска, однако сам поиск будет выполняться поставщиком поиска по умолчанию. Чтобы инициировать поиск из адресной строки, введите вопросительный знак ? перед условием поиска. Например, для поиска термина xbox введите ?xbox. Если текущий поставщик поиска поддерживает предложения поиска для термина xbox, отобразится список этих предложений. При выборе термина или нажатии клавиши ВВОД будет выполнен поиск с помощью поставщика по умолчанию.
  • Размер поля быстрого поиска можно изменить. Чтобы изменить размер поля быстрого поиска, наведите указатель на левый край поля быстрого поиска. При появлении горизонтального указателя перетащите край, чтобы изменить размер поля быстрого поиска.

Функции поиска веб-разработчика

Сайты теперь могут рекламировать поставщиков поиска, так что пользователи могут выполнять поиск непосредственно из хрома Internet Explorer, без предварительного перехода на определенный сайт. Поставщик поиска по умолчанию также используется для выполнения поиска из адресной строки. Для рекламирования поставщика поиска в Internet Explorer 8 сначала необходимо позволить пользователям установить веб-сайт в качестве поставщика поиска в поле поиска. Для этого необходимо выполнить два действия. Сначала нужно создать файл описания Open Search Description: веб-ссылка для поставщика поиска, а затем открыть доступ к этому файлу на веб-сайте, чтобы пользователи могли установить его.

Этот раздел сосредоточен на помощи разработчикам в понимании и использовании преимуществ функций поиска Internet Explorer 8 для улучшения эффективности поиска. В этом разделе рассматриваются следующие темы:

  • Создание файла описания Open Search 
  • Рекламирование поставщиков поиска 
  • Поддержка предложений поиска 
  • Получение размеров для меню предложений поиска 
  • Идентификация источников ссылок поиска 
  • Локализация предложений поиска 
  • Примечания 

Создание файла описания Open Search

Для рекламирования своих услуг и предоставления пользователям возможности установки своего поставщика поиска необходимо создать файл описания Open Search Description: веб-ссылка. Файлы описания Open Search — это небольшие XML-файлы, которые описывают поставщика поиска для Internet Explorer 8. В следующей таблице описываются значения, содержащиеся в файле описания Open Search.

Значение Описание
ShortName (обязательное) Имя поставщика поиска, отображаемое в поле быстрого поиска при выборе поставщика.
URL (обязательное) URL-адрес для стандартных поисковых запросов поставщика поиска. URL-адрес должен быть абсолютным.
Image (необязательное) Указатель на файл значка поставщика поиска на веб-сайте. Этот значок отображается рядом с именем поставщика в поле быстрого поиска. Значок должен быть допустимым файлом значка ярлыка; в противном случае будет использоваться универсальный значок. Дополнительные сведения о создании значков см. в разделе "Создание значков в правильном формате" статьи Добавление значка ярлыка на веб-страницу.
Suggestions URL (JSON) (необязательное) URL-адрес, из которого могут быть получены предложения в объектной записи JavaScript (JSON).
Suggestions URL (XML) (необязательное) URL-адрес, из которого могут быть получены предложения в формате XML.
PreviewUrl (необязательное) URL-адрес для отображения результатов в окне предварительного просмотра ускорителя.

В следующем примере файла определения Open Search определяется тип служб поиска, предназначенных для поддержки.

<?xml version="1.0" encoding="UTF-8"?>

<Open SearchDescription xmlns="http://a9.com/-/spec/Open Search/1.1/" xmlns:ie="http://schemas.microsoft.com/Search/2008/">

         <ShortName>My Custom Search</ShortName>

         <Image height="16" width="16" type="image/icon">http://example.com/example.ico</Image>

         <Url type="text/html" template="http://example.com/search.aspx?q={searchTerms}&source=IE"/>  

         <Url type="application/x-suggestions+json" template="http://suggestions.example.com/search.aspx?q={searchTerms}"/>

         <Url type="application/x-suggestions+xml" template="http://suggestions.example.com/search.aspx?q={searchTerms}"/>

         <ie:PreviewUrl type="text/html" template="http://suggestions.example.com/search.aspx?q={searchTerms}"/>

</Open SearchDescription>

Все файлы описания Open Search должны содержать имя поставщика поиска и URL-адрес поиска. Без этих элементов Internet Explorer 8 не может установить поставщика поиска. Все URL-адреса поиска должны содержать фрагмент "{searchTerms}" в каком-либо месте строки запроса. Когда Internet Explorer 8 переходит к этому поставщику для получения результатов поиска, элемент "{searchTerms}" заменяется строкой поиска, введенной пользователем в поле быстрого поиска. В файл описания Open Search Description следует включить значок. Если Internet Explorer 8 не сможет найти указанный атрибутом "Image" значок, он будет использовать универсальный значок Description: Универсальный значок поставщика поискадля представления поставщика поиска в меню Quick Pick.

Для быстрого создания файла описания Open Search можно использовать виджет из руководства по поиску Windows, чтобы создать собственный XML-файл. Выполните инструкции виджета, а затем щелкните ссылку Просмотр XML из шага 5. Виджет создает синтаксис XML, похожий на предыдущий фрагмент кода. Сохраните выходные данные в XML-файле и отправьте его на веб-сервер. Убедитесь в правильности формата XML-файла и проверьте, что символы "&" в URL-адресе закодированы.

Примечание. Виджет создает только базовый XML-файл, который можно использовать и настраивать. Однако он не создает значок или URL-адрес предложений. Их следует добавить самостоятельно.

Добавление предложений поиска в файлы описания Open Search

В Internet Explorer 8 поставщики поиска могут поддерживать предложения поиска. С помощью предложений пользователи могут создавать улучшенные условия поиска и быстрее находить то, что им требуется. Для поддержки предложений поиска в формате JSON и XML добавьте в файл описания следующие элементы.

<Url type="application/x-suggestions+json" template="http://suggestions.example.com/search.aspx?q={searchTerms}"/>

<Url type="application/x-suggestions+xml" template="http://suggestions.example.com/search.aspx?q={searchTerms}"/>

При добавлении дополнительных элементов URL убедитесь, что сначала задан тип "text/html". Это обеспечивает обратную совместимость. Остальные типы могут следовать в любом порядке. По умолчанию Internet Explorer использует элемент URL типа "text/html" в качестве универсального URL-адреса поиска, если предложения поиска недоступны или не поддерживаются более ранними версиями. Однако при наличии URL-адреса для обоих форматов (XML и JSON) Internet Explorer 8 будет использовать URL-адрес предложений формата XML.

Примечание. Если пользователи добавили поставщик поиска до того как он стал поддерживать предложения, они должны добавить его повторно. Internet Explorer 8 определит, что поставщик поиска уже был установлен, но теперь стал поддерживать предложения. В диалоговом окне Добавление поставщика поиска отобразится кнопка Обновить поставщика и станет активным флажок для предложений поиска.

Поддержка предварительного просмотра поиска

Все установленные поставщики поиска автоматически преобразуются в ускорители. Поскольку ускорители поддерживают предварительный просмотр, разработчик также может предусмотреть поддержку предварительного просмотра поиска, добавив элемент PreviewUrl в файл описания Open Search, как показано ниже.

<ie:PreviewUrl type="text/html" template="http://suggestions.example.com/search.aspx?q={searchTerms}/>

Добавленный в файл описания Open Search, этот элемент поддерживает упрощенное представление страницы результатов поиска. Представление предварительного просмотра отображается в окне размером 320 x 240, когда пользователь выделяет текст на веб-странице, нажимает значок ускорителей и наводит курсор мыши на имя поставщика поиска. Дополнительные сведения об ускорителях и функции предварительного просмотра см. в статье на сайте руководства для разработчиков ускорителей OpenService.

Примечание. Элемент ie:PreviewUrlиспользует пространство имен, предоставленное объявлениями пространств имен браузера Internet Explorer. При использовании этой функции убедитесь, что это объявление определено в теге Open SearchDescription: xmlns:ie="http://schemas.microsoft.com/Search/2008/".

Рекламирование поставщиков поиска

После создания файла описания Open Search можно рекламировать свои услуги среди пользователей. Существует два основных способа рекламы поставщиков поиска. Первый вариант — предоставить пользователям ссылку или кнопку, указывающую на файл описания. Пользователям понадобится выполнить действия по установке поставщика. Второй вариант — сделать поставщика обнаруживаемым. Для этого необходимо добавить в верхнюю часть веб-страницы одну строку кода, которая позволит браузеру Internet Explorer 8 обнаруживать поставщика при просмотре сайта пользователями.

Следующий код добавляет поставщика поиска, когда пользователь нажимает на ссылку.

<a href="#"

   onclick="window.external.AddSearchProvider('http://www.example.com/provider.xml')"

   >Пример добавления поставщика поиска</a>

Код вызывает метод AddSearchProvider. Метод AddSearchProvider доступен из объекта external класса window. При выполнения этого кода из HTML-страницы в Internet Explorer 8 открывается диалоговое окно Добавление поставщика поиска.

Создание обнаруживаемого поставщика поиска

Второй способ рекламы поставщика поиска заключается в том, чтобы сделать его обнаруживаемым. В спецификации Open Search описывается, как рекламировать поставщиков поиска с помощью добавления элемента link в заголовок веб-страницы. Следующий код позволяет браузеру Internet Explorer 8 обнаружить поставщика поиска.

<link title="My Provider" rel="search"

   type="application/Open Searchdescription+xml"

   href="http://www.example.com/provider.xml">

Атрибут rel должен иметь значение "search", а атрибут type — значение "application/Open Searchdescription+xml". Значение атрибута title отображается в раскрывающемся меню поля быстрого поиска. Атрибут href содержит абсолютный или относительный URL-адрес, который указывает расположение файла описания Open Search.

При загрузке страницы в Internet Explorer 8 стрелка раскрывающегося меню в поле быстрого поиска становится оранжевой, показывая, что в меню добавлены новые поставщики поиска. В списке отображаются три самых новых обнаруженных поставщика; они должны быть установлены перед тем, как в список смогут быть включены дополнительные поставщики. Если пользователь переходит в другой домен, обнаруженные ранее поставщики поиска удаляются. Пользователи могут попробовать новых поставщиков, перед тем как добавить их в список. Когда пользователь решает установить поставщика поиска, открывается диалоговое окно Добавление поставщика поиска.

Поддержка предложений поиска

  • Использование формата предложений JSON 
  • Использование формата предложений XML 

Начиная с Internet Explorer 8 поле быстрого поиска поддерживает предложения поиска. Internet Explorer 8 использует функцию предложений поиска, чтобы по мере ввода пользователя в поле поиска отправлять запросы с текущей строкой запроса поставщику поиска, который может предоставлять предложения, позволяющие пользователю улучшить поисковый запрос. Internet Explorer 8 поддерживает два формата предложений поиска: JSON и XML. Формат JSON позволяет использовать текстовые предложения поиска, которые могут быть дополнены описаниями и URL-адресами. Формат XML позволяет использовать весь контент, доступный в формате JSON, а также поддерживает визуальные предложения и заголовки разделов. Дополнительные сведения о формате предложений поиска XML можно найти в следующей статье: Спецификация формата предложений поиска XML.

Примечание. В этом разделе рассматривается форматирование только отдельных ответов предложений. Для полной поддержки предложений поиска необходимо создать эти предложения и предоставлять правильные предложения при каждом запросе. Поскольку эта часть поддержки предложений уникальна для каждого поставщика, она не рассматривается в этом документе.

Использование формата предложений JSON

Предложения поиска JSON возвращаются как массив массивов Microsoft JScript. Массив содержит четыре значения:

Значение Описание
Строка запроса (обязательное) Запрошенное условие поиска. Если браузер запросил предложения для термина "xbox", строкой запроса является "xbox". Возвращение строки запроса в массиве гарантирует, что возвращенные предложения предназначены для запрошенного условия поиска.
Массив расширений (обязательное) Предложения для данной строки запроса.
Массив описаний (необязательное) Дополнительные строки, которые предоставляют дополнительные сведения или контекст данного расширения.
Массив URL-адресов запроса (необязательное) Список URL-адресов, которые должны использоваться, если пользователь выберет данное предложение. Действует как мгновенный ответ на условие поиска, направляя пользователя на URL-адрес, а не на страницу результатов поиска.

Ответ JSON должен возвращать строку запроса и предложения поиска в массиве расширений. Ниже приведен пример простого ответа JSON, в котором описания и URL-адреса запроса опущены.

 ["xbox",

         ["Xbox 360", "Xbox cheats", "Xbox 360 games"]]

Примечание. Одновременно отображается максимум десять предложений поиска. Добавление описаний, визуальных предложений и разделов ограничивает число предоставляемых предложений. Важно отправлять наиболее релевантные предложения в начале массива расширений.

Чтобы помочь пользователям создавать улучшенные условия поиска, вместе с предложениями могут предоставляться описания. URL-адреса запроса могут предоставляться в виде мгновенного ответа. Если пользователь выбирает предложение с URL-адресом, Internet Explorer 8 направляет пользователя непосредственно на этот URL-адрес запроса, а не на страницу результатов поиска. Ниже приведен пример подробного ответа JSON.

 ["xbox",

         ["Xbox 360", "Хитрости Xbox", "Игры Xbox 360"],

         ["Официальный веб-сайт Xbox корпорации Майкрософт", "Коды и обзоры", "Игры и принадлежности"], 

         ["http://www.xbox.com","http://www.example.com/xboxcheatcodes.aspx", "http://www.example.com/games"]]

В этом ответе JSON первое предложение поиска состоит из следующих элементов:

  • Первый элемент в первом массиве ("Xbox 360")
  • Первый элемент во втором массиве ("Официальный веб-сайт Xbox корпорации Майкрософт")
  • Первый элемент в третьем массиве ("http://www.xbox.com").

Предыдущий ответ создает следующие результаты:

Использование формата предложений XML

Предыдущий ответ JSON может быть представлен в формате предложений XML, как показано в следующем примере. Этот пример содержит такой же ответ предложений, как и предыдущие предложения JSON, и выводит точно такой же результат.

<?xml version="1.0"?>

<SearchSuggestion xmlns="http://schemas.microsoft.com/Search/2008/suggestions">

    <Query>xbox</Query>

    <Section>

         <Item>

                 <Text>Xbox 360</Text>

                 <Description>Официальный веб-сайт Xbox корпорации Майкрософт</Description>

                 <Url>http://www.xbox.com</Url>

         </Item>

         <Item>

                 <Text>Хитрости Xbox</Text>

                 <Description>Коды и обзоры</Description>

                 <Url>http://www.example.com/xboxcheatcodes.aspx</Url>

         </Item>

         <Item>

                 <Text>Игры Xbox 360</Text>

                 <Description>Игры и принадлежности</Description>

                 <Url>http://www.example.com/games</Url>

         </Item>

    </Section>

</SearchSuggestion>

Формат предложений JSON не позволяет указывать заголовки разделов в меню предложений. В Internet Explorer 8 заголовком раздела будет имя поставщика поиска плюс слово "Предложения". Например, если имя поставщика поиска "Joe's Search", предложения будут озаглавлены "Предложения Joe's Search". В следующем примере имя поставщика поиска "My Custom Search", а заголовок отображается как "Предложения My Custom Search". Если необходимо организовать предложения в несколько разделов, используйте формат предложений XML. Помимо заголовков разделов формат предложений XML поддерживает визуальные предложения. Дополнительные сведения о формате предложений поиска XML можно найти в следующей статье: Спецификация формата предложений поиска XML.

Предложения поиска XML поддерживают те же возможности, что и предложения поиска JSON, а также дополнительные возможности, которые недоступны в JSON. К дополнительным относятся следующие возможности:

  • Настройка заголовка раздела предложений.
  • Разбиение предложений на несколько разделов.
  • Включение визуальных предложений.

Для настройки заголовков разделов можно добавить атрибут "title" в элемент Selection или добавить разделитель. Разделители могут быть с заголовком или без. В следующем примере добавляется разделитель для "My Text Suggestions" и другой разделитель без заголовка.

<?xml version="1.0"?>

<SearchSuggestion xmlns="http://schemas.microsoft.com/Search/2008/suggestions">

    <Query>xbox</Query>

    <Section>

         <Separator title="My Text Suggestions"/>

         <Item>

                 <Text>Xbox 360</Text>

                 <Description>Официальный веб-сайт Xbox корпорации Майкрософт</Description>

                 <Url>http://www.xbox.com</Url>

         </Item>

         <Item>

                 <Text>Хитрости Xbox</Text>

                 <Description>Коды и обзоры</Description>

                 <Url>http://www.example.com/xboxcheatcodes.aspx</Url>

         </Item>

         <Item>

                 <Text>Игры Xbox 360</Text>

                 <Description>Игры и принадлежности</Description>

                 <Url>http://www.example.com/games</Url>

         </Item>

         <Separator />

         <Item>

                 <Text>Самая низкая цена на xbox 360</Text>

         </Item>

         <Item>

                 <Text>Новости xbox 360</Text>

         </Item>

    </Section>

</SearchSuggestion>

Приведенный выше код выводит следующий результат.

Поддержка визуальных предложений

Предложения поиска обычно состоят из текстовых предложений или связанных терминов, которые возможно ищут пользователи. В Internet Explorer 8 понятие предложения поиска расширено и включает строку запроса, ссылку или визуальное предложение. Визуальное предложение содержит изображение. Поставщик поиска может предоставить в качестве предложения поиска для условия поиска пользователя изображение с текстом или только изображение. Чтобы добавить в ответ визуальное предложение, добавьте элемент Image в элемент Item этого предложения. Не забудьте также указать ширину и высоту изображения. Например, чтобы предоставить визуальное предложение для термина "Xbox", можно вернуть следующий код:

<Separator title="My Visual Suggestions" />

  <Item>

         <Text>Игровые консоли Xbox 360</Text>

         <Description>Выгодное предложение по системам и пакетам игровых консолей.</Description>

         <Image source="http://www.example.com/xboxconsole.jpg" alt="Консоли Xbox 360" width="75" height="75"/>

         <Url>http://www.example.com/</Url>

  </Item>

  <Item>

         <Text>Беспроводной контроллер Xbox 360</Text>

         <Image source="http://www.example.com/xboxcontroller.jpg" alt="Беспроводной контроллер Xbox 360" width="75" height="75"/>

  </Item>

  <Item>

         <Text>Динамические игры Xbox 360</Text>

         <Image source="http://www.example.com/live.jpg" alt="Динамические игры Xbox 360" width="75" height="75"/>

         <Url>http://www.example.com/games.aspx?q="Xbox 360"</Url>

  </Item>

Предыдущий код выводит следующие результаты.

В этом примере URL-адрес поддерживается для двух предложений. Internet Explorer 8 направляет пользователя непосредственно на страницу, заданную URL-адресом. Если URL-адрес не предоставлен, в качестве условия поиска используется значение элемента Text ("Беспроводной контроллер Xbox 360") . Если необходимо предоставить визуальное предложение без текста и описания, следует предоставить URL-адрес, на который Internet Explorer 8 направит пользователя.

По умолчанию текст, относящийся к изображению, центрируется вертикально рядом с изображением. Задав для атрибута align значение "top", "middle" или "bottom", можно указать способ выравнивания элементов Text и Description относительно изображения.

Для выравнивания текста добавьте атрибут align в элемент image. В приведенном ниже примере для атрибута align задается значение "top".

<Image source="http://www.example.com/xboxconsole.jpg" alt="Консоли Xbox 360" width="75" height="75" align="top"/>

Обработка ошибок ответа

При поддержке предложений поиска существует вероятность отсутствия предложений для некоторых терминов или невозможности их распознавания. В этом случае по-прежнему необходимо отправить допустимый ответ XML, иначе пользователи будут получать сообщение об ошибке. Чтобы этого избежать, необходимо отправлять допустимый ответ XML при отсутствии предложений для термина поиска. В приведенном ниже фрагменте кода для термина поиска xbox отправляется ответ без предложений. Этот ответ отобразит сообщение Нет результатов..

<?xml version="1.0"?>

<SearchSuggestion xmlns="http://schemas.microsoft.com/Search/2008/suggestions">

    <Query>xbox</Query>

</SearchSuggestion>

Для ответа JSON можно вернуть следующее:

["xbox"]

Кроме отсутствия предложений для термина поиска также могут быть случаи, когда известно, что предложение существует, но все равно выдается сообщение об ошибке. В этом случае проверьте кодировку запроса. По умолчанию термины поиска кодируются в формате UTF-8, даже если используется метод запроса HTTP GET. Это значит, что если пользователь вводит символы с диакритическими знаками, они кодируются в эквивалент ASCII (текст). Например, если термином поиска является café, то отправляется термин q=caf%c3%a9, в котором символ é закодирован в эквивалент ASCII %c3%a9.

Примечание. Поставщики поиска должны использовать метод запроса HTTP GET; метод POST не поддерживается.

Получение размеров для меню предложений поиска

При предоставлении визуального предложения необходимо включить высоту и ширину изображения. Если эти значения не включены, Internet Explorer 8 выделяет для изображения стандартное пространство и подгоняет его под соответствующие размеры. В этом случае стандартным размером пространства является вертикальный эквивалент одной строки текста.

Размер поля быстрого поиска можно изменить, поэтому размеры раскрывающегося меню предложений поиска могут изменяться. Для определения размеров меню предложений поиска в URL-адрес описания Open Search можно добавить параметры, которые возвращают размер раскрывающегося меню предложений поиска. Доступны следующие параметры.

Параметр Описание
{maxWidth} Ширина раскрывающегося меню в пикселях.
{sectionHeight} Высота всего раздела предложений.
{rowHeight} Высота одиночной строки текста, которая эквивалентна одной строке текста.

В следующем примере показаны эти параметры, добавленные в URL-адрес файла описания Open Search.

<Url type="application/x-suggestions+xml"

         template="http://suggestions.example.com/search.aspx?q={searchTerms}&

         maxwidth={maxWidth}&rowheight={rowHeight}&sectionHeight={sectionHeight}"

/>

На следующем рисунке определяется область для каждого параметра.

Идентификация источников ссылок поиска

Начиная с версии Internet Explorer 7 браузер поддерживает расширение источника ссылки Open Search Description: веб-ссылка. Когда пользователь запускает поиск, Internet Explorer добавляет к поисковому запросу атрибут referrer, который указывает, был ли поиск запущен из поля быстрого поиска или из адресной строки. Если поиск был запущен из поля быстрого поиска, для атрибута referrer задается значение IE-SearchBox. Если поиск был запущен из адресной строки через избранное или непосредственно вводом, для атрибута referrer задается значение IE-Address.

Локализация предложений поиска

Если услуги предоставляются на нескольких языках, можно определить локализацию отправляемых предложений, добавив атрибут "{Language}" в строку запроса. В приведенном ниже примере показано, как получить сведения о языке пользователя для обслуживания локализации запросов:

<Url type="application/x-suggestions+xml"

         template="http://suggestions.example.com/search.aspx?

         q={searchTerms}&language={Language}"

/>

Когда Internet Explorer запрашивает предложения, он заменяет "{Language}" на доступный язык Internet Explorer, который определен в региональных настройках системы пользователя. Региональные настройки системы пользователя могут быть заданы из панели управления и из языковых настроек Internet Explorer в диалоговом окне Свойства обозревателя.

Примечание. Дополнительные сведения о кодировке символов, которая может повлиять на локализованные ответы, см. в разделе "Обработка ошибок ответа" выше.

Примечания

Учитывайте следующие рекомендации.

  • Веб-сайт не может автоматически открыть диалоговое окно Добавление поставщика поиска. Это окно заблокировано так же, как всплывающие окна веб-сайтов, и может быть запущено только в результате действия пользователя.
  • Заголовки должны быть короткими, в идеале не больше 16 символов. Эта строка используется полем быстрого поиска. Если заголовок длиннее поля поиска, от может быть обрезан.
  • Заголовок в теге link должен совпадать с заголовком, используемым файлом описания XML. Эти строки должны совпадать, чтобы функция обнаружения поиска могла распознать, что поставщик был установлен, и чтобы стрелка раскрывающегося меню поля быстрого поиска не становилась оранжевой, или чтобы установленный поставщик не добавлялся в список обнаруженных поставщиков самостоятельно.
  • Если пользователь восстанавливает параметры Internet Explorer по умолчанию, все пользовательские поставщики поиска удаляются.
  • Если для добавления поставщика используются скрипты, можно также вызвать вспомогательный метод IsSearchProviderInstalled, чтобы проверить, был ли поставщик уже установлен.
  • При создании файлов описания убедитесь, что файл содержит допустимый синтаксис XML, все символы в строках запроса закодированы и все символы "&" предваряются символом "&".
  • Поскольку пользователи могут изменять размер поля быстрого поиска, разработчик может запросить у Internet Explorer 8 возврат размеров раскрывающегося списка предложений поиска, добавив параметры в URL-адрес файла описания XML.

Связанные темы