Опубликован: 04.05.2010 | Уровень: для всех | Доступ: платный
Практическая работа 7:

Применение элементов Семантического Веб в Интернет-магазине

< Практическая работа 6 || Практическая работа 7: 123 || Лекция 16 >
Аннотация: Данное практическое занятие освещает вопросы применения элементов Семантического Веб на примере использования микроформатов, а также создания ускорителей в IE8.

Цель практического занятия: Целью данного семинара является применение технологии WebSlice в Интернет-магазине, как примера использования микроформатов, а также создание ускорителя для поиска товаров в Интернет-магазине.

Файлы к практическому занятию Вы можете скачать здесь.

22.1. Введение в ускорители

В приведенном в предыдущем практическом занятии шаблоне поискового расширения был один из опциональных тегов – ie:PreviewUrl. Он позволяет сделать предварительный просмотр результатов поиска в небольшом окне, которое отображает html-страницу с результатами поиска. Это возможно, так как на самом деле при загрузке в браузер поискового расширения оно превращается в акселератор.

Акселераторы (в дальнейшем – ускорители ) в Internet Explorer 8 – это команды контекстного меню, предоставляющие быстрый доступ к приложениям или веб-службам с какой-либо веб-страницы. Пользователи могут устанавливать ускорители из галереи дополнений Internet Explorer 8 или через любой веб-сайт, на котором они объявлены. Ускорители упрощают копирование информации с одной веб-страницы на другую.

Ускорители характеризуются следующими важными свойствами:

  • Ускорители появляются в контекстном меню (отрывается при щелчке правой кнопкой) веб-страницы в Internet Explorer. Они группируются по функциям, поэтому пользователи могут быстро вызвать нужную задачу.
  • Для ускорителей возможны два типа сценариев: пользователи могут предварительно просматривать информацию, не покидая веб-страницу, или выполнить отправку содержимого прямо в приложение или веб-службу.
  • В XML- ускорителях используется XML-файл для описания формата HTTP-запросов к веб-серверу. Данные из целевого контекста (выбранный объект, ссылка или документ) передаются в виде переменных в параметрах URL-адреса и/или данных формы.

Ускорители позволяют осуществлять операции с данными на веб-странице. Можно выбрать несколько строк текста и, щелкнув кнопкой мыши, отправить их в блог или послать по электронной почте. С использованием ранее установленного ускорителя эта операция "выполняет" требуемое действие, переходя к нужному веб-сайту с выбранной частью статьи, уже доступной в поле редактирования. С использованием ускорителей типа "предварительный просмотр" можно выполнять операции с данными без перехода на другой веб-сайт; например, можно перевести слово или найти адрес на карте. Чтобы открыть окно предварительного просмотра, достаточно навести указатель мыши на ускоритель (рис. 22.1).

Пример поиска адреса на карте с помощью сервиса Live Maps

Рис. 22.1. Пример поиска адреса на карте с помощью сервиса Live Maps

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

22.1.1. Категории

Ускорители группируются по функциям, поэтому пользователи могут быстро вызвать нужную задачу. В ходе установки ускорителя или в диалоговом окне "Надстройки" можно задать ускоритель по умолчанию для конкретной категории.

Существуют следующие категории ускорителей:

  • Добавить ( Add );
  • Опубликовать в блоге ( Blog );
  • Найти определение ( Define );
  • Найти на карте ( Map );
  • Отправить ( Send );
  • Перевести ( Translate );
  • Искать ( Find, именно к этой категории относятся поисковые провайдеры).

Отдельно стоит выделить категорию Share, куда принято относятся все ускорители, не попавшие ни в одну из указанных категорий.

<activity category="Share">

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

22.1.2. Переменные

Свойства документа и содержимое передаются поставщику службы ускорителя через функции HTTP-передачи данных GET и/или POST. Эти свойства выражены заменяемыми переменными, которые можно передавать в виде полей формы или параметров URL-адреса. Переменные можно указать непосредственно в атрибуте action элементов execute и preview или в элементах parameters.

Примечание . Для сохранения состояния и учетных данных пользователя можно использовать файлы Cookie.

Доступны переменные, перечисленные в табл. 22.1.

Таблица 22.1. Переменные
Переменная Контекст Описание
{documentUrl} Все Свойство href документа.
{documentTitle} Все Свойство title документа, если доступно.
{documentDomain} Все Действующий домен второго уровня из свойства href документа.
{documentHost} Все Полное имя домена из свойства href документа.
{selection} Выделение Выбранный текст.
{link} Ссылка Свойство href выбранной ссылки.
{linkText} Ссылка Свойство innerText выбранной ссылки.
{linkRel} Ссылка Свойство rel выбранной ссылки, если доступно.
{linkType} Ссылка Свойство type выбранной ссылки, если доступно.
{linkDomain} Ссылка Действующий домен второго уровня из свойства href ссылки.
{linkHost} Ссылка Полное имя домена из свойства href ссылки.

О переменных необходимо помнить следующее:

  • Имена переменных всегда заключаются в фигурные скобки {} ; например {selection}. Чтобы указать в запросе сам символ фигурной скобки, используется обратная косая черта, например \{{selection}\}.
  • Если после имени переменной указывается "?", это означает, что оно необязательное; например {documentTitle?}.
  • Если какая-либо обязательная переменная в шаблоне URL-адреса недоступна (например, при попытке выполнения ускорителя, включающего {linkRel} в атрибуте action, в отношении ссылки без атрибута rel ), ускоритель выполнить нельзя и относящийся к нему пункт в контекстном меню затеняется.
  • Если какой-либо элемент parameter имеет пустое значение по любой причине, он не появляется в запросе.

22.2. Описание структуры XML файла ускорителя

В общем, описание акселератора имеет следующий вид:

<?xml version="1.0" encoding="UTF-8"?>
<openServiceDescription
    xmlns="http://www.microsoft.com/schemas/openservicedescription/1.0">
  <homepageUrl>http://maps.example.com</homepageUrl>
  <display>
    <name>
      Карта MyMap</os:name>
      <icon>
        http://www.example.com/favicon.ico</ icon>
        <description>Адреса на карте – с помощью MyMap.</description>
        </ display>
        < activity category="Карта">
        <activityAction context="selection">
          <preview action="http://maps.example.com/preview.php?addr={selection}" />
          <execute action="http://maps.example.com/" method="get">
            <parameter name="addr" value="{selection}" type="text" />
          </execute>
        </activityAction>
        </activity>
      </openServiceDescription>

Рассмотрим подробно все используемые теги.

22.2.1. openServiceDescription

<openServiceDescription
   xmlns:os="http://www.microsoft.com/schemas/openservicedescription/1.0">

Корневой элемент файла ускорителя OpenService – элемент openServiceDescription. Атрибут xmlns является обязательным и должен иметь значение http://www.microsoft.com/schemas/openservicedescription/1.0.

22.2.2. homepageUrl

<homepageUrl>http://maps.example.com</homepageUrl>

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

22.2.3. display

<display>

Обязательный. Элемент display описывает способ отображения ускорителя для пользователя. Он содержит элементы name и icon.

22.2.4. name

<name>Карта MyMap</name>

Обязательный. Элемент name – это имя ускорителя, отображаемое в контекстном меню. Имя ускорителя должно начинаться с описательного слова, за которым должно следовать наименование поставщика услуг. Например, "Карты Windows Live" или "Найти в Encarta".

22.2.5. icon

<icon>http://www.example.com/favicon.ico</icon>

Необязательный. Элемент icon содержит URL-адрес для значка (размером 16 x 16 пикселей) данного ускорителя. Имя домена должно совпадать с доменом, указанным в элементе homepageUrl.

22.2.6. description

<description>Адреса на карте – с помощью MyMap.</description>

Необязательный. Элемент description содержит более длинное описание ускорителя, отображаемое в диалоговом окне Управление надстройками.

22.2.7. activity

<activity category="Карта">

Обязательный. Элемент activity содержит всю функциональность ускорителя.

Каждый элемент activity должен указывать атрибут категории для описания поддерживаемого типа функциональности. Ускорители упорядочиваются в контекстном меню браузеров по категориям, чтобы пользователи могли быстро выполнить нужную задачу. Пользователи могут выбрать ускоритель по умолчанию для каждой категории при установке ускорителя или в диалоговом окне Управление надстройками. Ускорители по умолчанию отображаются в контекстном меню браузера, а все прочие ускорители – во вложенном меню.

22.2.8. activityAction

<activityAction context="selection">

Обязательный. Каждый элемент activityAction указывает ход взаимодействия с поставщиком службы на основе целевого объекта ускорителя (табл. 22.2). Необязательный атрибут контекста указывает целевой объект. Значение по умолчанию – selection.

Таблица 22.2. Контекст activityAction
Контекст Описание
Документ Текущий документ. Доступен всегда.
Выделенный фрагмент Значение по умолчанию. Выделенный фрагмент текста. Ускоритель доступен только при нажатии выделенной области.
Ссылка Гиперссылка. Ускоритель доступен только для ссылок.

22.2.9. preview

<preview action="http://maps.example.com/preview.php?addr={selection}" />

Необязательный. Элемент preview определяет содержимое окна HTML, которое отображается при наведении пользователем указателя мыши на ускоритель. Этот элемент использует те же атрибуты и дочерние элементы, что и элемент execute.

URL-адрес атрибута действия может содержать переменные, заменяемые при выполнении команд.

22.2.10. execute

<execute action="http://maps.example.com/" method="get">

Обязательный. Элемент execute указывает основное действие, выполняемое при запуске ускорителя пользователем. Как и preview, этот элемент может содержать переменные замены в атрибуте действия или в виде отдельных элементов parameter.

Следующие атрибуты определены для execute и preview (табл. 22.3).

Таблица 22.3. Атрибуты execute
Атрибут Обязательный Описание
action Да Шаблон URL-адреса для использования при отправке HTTP.
method Нет Тип используемого метода HTTP ( get, post ). По умолчанию – get.
enctype Нет Тип содержимого, отправляемого на сервер. По умолчанию – application/x-www-form-urlencoded.
accept-charset Нет По умолчанию – utf-8.

22.2.11. parameter

<parameter name="addr" value="{selection}" type="text" />

Необязательный. Элемент parameter предоставляет дополнительный способ выражения значений. Обязательные атрибуты имени и значения определяют строчные выходные данные, относящиеся к службе, и обычно относятся к переменным ускорителя.

Необязательный атрибут типа используется для преобразования переменной {selection} в HTML или простой текст. Значение по умолчанию – text.

< Практическая работа 6 || Практическая работа 7: 123 || Лекция 16 >
Никита Мухортов
Никита Мухортов
Россия, г. Санкт-Петербург
Андрей Деев
Андрей Деев
Россия, Артем, ДВГТУ, 2001