Опубликован: 19.05.2006 | Доступ: свободный | Студентов: 10202 / 1645 | Оценка: 4.29 / 4.03 | Длительность: 22:29:00
ISBN: 978-5-94774-648-8
Лекция 13:

Объекты, Изображения и Аплеты

Замечания о внедрённых документах

Иногда, вместо того чтобы ссылаться на документ, автор может захотеть встроить объект непосредственно в основной документ HTML. Для этого авторы могут использовать элементы IFRAME или OBJECT, но эти элементы отличаются друг от друга. Они не только имеют разные модели содержимого; элемент IFRAME может быть целевым фрэймом (см. детали в "определении информации целевого фрэйма" ) и может быть "выбран" пользовательским агентом как фокус для печати, просмотра текста-источника HTML и т.д. ПА могут отображать выбранные фрэймы не так, как невыбранные (например, прорисовкой рамки вокруг выбранного фрэйма).

Внедрённый документ полностью независим от документа, в который он внедрён. Например, относительные URI внутри внедрённого документа разрешаются в соответствии с базовым URI внедрённого документа, а не с базовым URI главного документа. Внедрённый документ отображается только внутри другого документа (напр., в дочернем окне), в то же время, он остаётся независимым.

К примеру, следующие строки внедряют содержимое файла embed_me.html в то место, где появляется определение OBJECT:

...текст до...
<OBJECT data="embed_me.html">
Warning: embed_me.html could not be embedded.
</OBJECT>
...текст после...

Напоминаем, что содержимое OBJECT должно отображаться только в том случае, если файл, определённый в атрибуте data не может быть загружен.

Поведение ПА в тех случаях, когда файл внедряет сам себя, не определено.

Карты изображений

Карты изображений позволяют авторам специфицировать регионы/области изображения или объекта и назначать отдельное действие каждому региону (напр., запросить документ, запустить программу и т.п.). Если регион активируется пользователем, действие запускается на выполнение.

Карта изображений (image map) создаётся путём ассоциирования объекта со спецификацией сенситивного геометрического региона на объекте.

Существуют карты двух типов:

  • Клиентские\на стороне клиента (Client-side). Если пользователь активирует мышью регион клиентской карты, координаты щелчка (в пикселах) интерпретируются ПА. ПА выбирает ссылку, определённую для данного региона, и переходит по ней.
  • Серверные\На стороне сервера (Server-side). Если пользователь активирует мышью регион серверной карты, координаты щелчка (в пикселах) пересылаются на сервер агенту, определённому атрибутом href элемента A. Агент на сервере интерпретирует координаты и выполняет некоторое действие.

Клиентские карты изображений предпочтительнее, нежели серверные по двум (как минимум) причинам: они доступны для людей, просматривающих документ в неграфических браузерах, и немедленно реагируют при перемещении указателя над активным регионом.

Клиентские карты изображений: элементы MAP и AREA

<!ELEMENT MAP - - ((%block;) | AREA)+ -- клиентская карта изображений -->
<!ATTLIST MAP
  %attrs;                              -- %coreattrs, %i18n, %events --
  name        CDATA          #НЕОБХОДИМ -- для ссылок usemap --
  >
Начальный тег: необходим, Конечный тег: необходим
<!ELEMENT AREA - O EMPTY               -- регион клиентской карты -->
<!ATTLIST AREA
  %attrs;                              -- %coreattrs, %i18n, %events --
  shape       %Shape;        rect      -- управляет интерпретацией coords --
  coords      %Coords;       #ПРЕДПОЛАГАЕТСЯ  -- список разделённых запятыми размеров --
  href        %URI;          #ПРЕДПОЛАГАЕТСЯ  -- URI связанного ресурса --
  nohref      (nohref)       #ПРЕДПОЛАГАЕТСЯ  -- этот регион не реагирует --
  alt         %Text;         #НЕОБХОДИМ       -- краткое описание --
  tabindex    NUMBER         #ПРЕДПОЛАГАЕТСЯ  -- позиция в порядке табуляции --
  accesskey   %Character;    #ПРЕДПОЛАГАЕТСЯ  -- символ быстрого доступа --
  onfocus     %Script;       #ПРЕДПОЛАГАЕТСЯ  -- элемент получил фокус --
  onblur      %Script;       #ПРЕДПОЛАГАЕТСЯ  -- элемент потерял фокус --
  >
Начальный тег: необходим, Конечный тег: запрещён

Определения атрибутов элемента MAP

name = cdata [CI]

Назначает имя карте изображений, определённой элементом MAP.

Определения атрибутов элемента AREA

shape = default|rect|circle|poly [CI]

Этот атрибут определяет границы региона. Возможные значения:

  • default: весь регион;
  • rect: прямоугольный регион;
  • circle: круглый регион;
  • poly: многоугольный регион.

coords = coordinates [CN]

Определяет позицию на экране и очертания. Количество и порядок значений зависят от определяемой фигуры. Возможные сочетания:

  • rect: left-x, top-y, right-x, bottom-y.
  • circle: center-x, center-y, radius.

    Примечание. Если значение radius - в процентах, ПА должны вычислять окончательное значение радиуса на базе ширины и высоты ассоциированного объекта. Значение радиуса должно быть меньше 2.

  • poly: x1, y1, x2, y2, ..., xN, yN. Первая пара координат x и y и последняя должны быть одинаковыми, чтобы "закрыть" многоугольник. Если эти значения не одинаковы, ПА должен вычислить дополнительную пару координат, чтобы закрыть многоугольник.

Координаты относительны к верхнему левому углу объекта. Все значения являются размерами. Все значения разделены запятыми.

nohref [CI]

Если установлен этот булев атрибут, то он указывает, что регион не имеет ассоциированной гиперссылки.

Атрибут для ассоциирования карты с элементом

usemap = uri [CT]

Ассоциирует карту с элементом. Карта изображений определяется элементом MAP. Значение usemap должно совпадать со значением атрибута name ассоциированного элемента MAP.

Атрибуты, определённые в другом месте

  • id, class (идентификаторы документа )
  • lang (язык), dir (направление текста)
  • title (заголовок элемента)
  • style (инлайн-стиль)
  • name (отправка объектов с формой)
  • alt ( альтернативный текст )
  • href (ссылка-якорь), target (целевой фрэйм)
  • tabindex (навигация табуляцией)
  • accesskey (символ быстрого доступа)
  • shape ( карты изображений )
  • onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup, onfocus, onblur (внутренние события)

Элемент MAP определяет клиентскую карту (или другой механизм навигации), который может быть ассоциирован с другими элементами ( IMG, OBJECT или INPUT ). Карта ассоциируется с элементом посредством атрибута usemap. Элемент MAP может использоваться без ассоциированного изображения для механизмов общей навигации.

Наличие атрибута usemap в элементе OBJECT подразумевает, что включаемый объект - это изображение. Кроме того, если элемент OBJECT имеет ассоциированную клиентскую карту, ПА могут выполнять взаимодействие с пользователем через OBJECT, только в понятиях клиентской карты. Это позволяет ПА (таким как аудиобраузер или робот) взаимодействовать с OBJECT без его выполнения (прогона); ПА может даже избрать вариант - не запрашивать (или не исполнять) объект. Если OBJECT имеет ассоциированную карту изображений, авторы не могут рассчитывать, что объект будет запрошен или выполнен любым ПА.

Модель содержимого элемента MAP позволяет авторам комбинировать:

  1. Один или более элементов AREA. Эти элементы не имеют содержимого, но определяют геометрические регионы карты изображений и гиперссылки, ассоциированные с каждым регионом. Заметьте, что ПА обычно не отображают элементы AREA. Поэтому авторы должны предоставлять альтернативный текст для каждого AREA в атрибуте alt (см. ниже "как определить альтернативный текст" ).
  2. Содержимое уровня блока. Это содержимое должно включать элементы A, которые специфицируют геометрические регионы карты и ссылки, ассоциированные с каждым регионом. Обратите внимание, что ПА должен отображать содержимое уровня блока элемента MAP. Авторы должны использовать этот метод для создания более доступных документов.

Если элемент MAP имеет смешанное содержимое (элементов AREA и содержимое уровня блока), ПА должны игнорировать элементы AREA.

Авторы должны специфицировать геометрию карты изображений полностью элементами AREA, полностью элементами A или полностью теми и другими, если содержимое смешанное. Авторы могут смешивать содержимое так, чтобы старые ПА обрабатывали очертания карт, определённые элементами AREA, а новые ПА использовали преимущества содержимого уровня блоков.

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

ПА и авторы должны предоставлять текстовую альтернативу графической карте для тех случаев, когда графика недоступна или пользователь не может её получить. Например, ПА могут использовать текст из alt для создания текстовых ссылок вместо графической карты изображений. Такие ссылки могут быть активированы разными способами (с клавиатуры, голосом и т.д.).

Примечание. MAP не имеет обратной совместимости с ПА HTML 2.0.
Ирина Кириллова
Ирина Кириллова

Нажимаю на ссылку на дополнительный материал и дополнение к информации-меня возвращает на первую страницу лекции. Подскажите, что делать? Или дополнительный материал платный?