Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Технологии программирования / источники / ++часть 2 Совр веб-техн / 21.+ Практ Прим поиск техн в Интерне.rtf
Скачиваний:
197
Добавлен:
10.05.2015
Размер:
13.68 Mб
Скачать

21.4.2. Создание файла описания поискового расширения для Интернет-магазина

Добавим в корень проекта файл Search.xml следующей структуры:

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

<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">

<ShortName>Adventure Works</ShortName>

<Url type="text/html"

template="http://localhost:31770/AWCDShop/products/ProductsSearch.aspx?query={searchTerms}" />

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

template="http://localhost:31770/AWCDShop/SearchSuggestion.ashx?query={searchTerms}"/>

</OpenSearchDescription>

Как видно из описания, мы не указываем иконку для нашего поиска, а также подсказки в формате JSON. При этом при использовании поиска, пользователь будет перенаправляться на только что разработанную страницу products/ProductsSearch.aspx. Строку, описывающую доступ к подсказкам рассмотрим позднее.

21.5. Добавление поставщика поиска на страницу сайта

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

Ниже приведен пример кода, обеспечивающего добавление поставщика поиска при щелчке ссылки пользователем:

<a href="#"

onclick="window.external.AddSearchProvider('http://www.example.com/provider.xml')">Add Search Provider Example</a>

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

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

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

type="application/opensearchdescription+xml"

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

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

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

Расположим на странице master.master в теге head следующий код:

<link rel="search"

type="application/opensearchdescription+xml"

href="http://localhost:31770/AWCDShop/Search.xml"

title="Adventure Works 1" />

Теперь, когда пользователи будут заходить на любую страницу нашего сайта, они будут уведомлены о том, что сайт предоставляет поисковое расширение, и смогут его добавить.