Об'єкти, зображення і аплети в документах в форматі html

13.1 Введення в об'єкти, зображення і аплети

Новий елемент OBJECT. таким чином, subsumes деякі завдання, що виконуються існуючими елементами. Розглянемо наступну класифікацію функцій:

Інший документ HTML

З таблиці видно, що кожен тип включення має конкретне і загальне рішення. Загальний елемент OBJECT служить рішенням для використання можливих в майбутньому типів пристроїв.

13.2 Включення зображення: елемент IMG

Визначення атрибутів src = uri [CT] Цей атрибут задає місце розташування зображення. Прикладами широко підтримуваних форматів є GIF, JPEG і PNG. longdesc = uri [CT] Цей атрибут визначає посилання на довгий опис зображення. Це опис має доповнювати короткий опис, що задається атрибутом alt. Якщо з зображенням пов'язана навігаційна карта. в цьому атрибуті має наводитися інформація про її вміст. Це особливо важливо для серверних навігаційних карт.

У наведеному раніше прикладі ми визначили посилання на сімейну фотографію. Тут ми вставимо фотографію безпосередньо в поточний документ:

Цього ж ефекту можна досягти за допомогою елемента OBJECT наступним чином:

Атрибут alt задає альтернативний текст, який генерується, якщо зображення можна виводити на екран (інформацію про те, як вказати альтернативний текст. См. Нижче). Агенти користувачів повинні генерувати альтернативний текст, якщо вони не підтримують зображення, якщо вони не підтримують певний тип зображень або якщо вони сконфігуровані так, щоб не виводити зображень.

У наступному прикладі показано, як можна використовувати атрибут longdesc для посилання на більш докладний опис:

Інформацію про розмір зображення, вирівнюванні і кордони см. В розділі про візуальному поданні об'єктів, зображень і аплетів.

13.3 Загальна включення: елемент OBJECT

Початковий тег: обов'язковий. Кінцевий тег: обов'язковий

Інформацію про елемент OBJECT в формах см. В розділі про управління формами.

Агент користувача повинен інтерпретувати елемент OBJECT у відповідності з наступними правилами старшинства:
  1. Спочатку агент користувача повинен спробувати згенерувати об'єкт. Він не повинен генерувати вміст елемента, але повинен перевірити його на випадок, якщо елемент містить додаткові дочірні елементи PARAM (див. Ініціалізація об'єкта) або елементи MAP (див. Клієнтські навігаційні карти).
  2. Якщо агент користувача з якоїсь причини не може згенерувати об'єкт (НЕ налаштований для цього, недостатньо ресурсів, помилкова архітектура і т.д.), він повинен спробувати згенерувати його вміст.

У наступному прикладі ми вставляємо в документ аплет, який представляє годинник, за допомогою елемента OBJECT. Аплету, написаний на мові Python, не потрібні додаткові і робочі значення. Атрибут classid визначає місце розташування аплету:

Вбудовані і зовнішні дані. Дані, які повинні генеруватися, можуть зазначатися двома способами: у вигляді вбудованого або зовнішнього ресурсу. Останній метод зазвичай забезпечує швидшу генерацію, але незручний при генерації великого обсягу даних.

Нижче наводиться приклад, що показує, як вбудовані дані можуть be fed to an OBJECT:

13.3.2 Ініціалізація об'єкта: елемент PARAM

Елементи PARAM визначають набір значень, які можуть знадобитися об'єкту під час роботи. В елементах OBJECT або APPLET може бути присутнім будь-яке число атрибутів PARAM в будь-якому порядку, але вони повинні поміщатися на початку тіла включає елементи OBJECT або APPLET.

Синтаксис імен та значень вважається зрозумілим оброблювачу об'єкта. Даний документ не вказує, як агенти користувачів повинні завантажувати пари ім'я / значення, а також того, як вони повинні інтерпретувати повторювані імена параметрів.

Повернемося до прикладу з годинником і покажемо використання елемента PARAM. припустимо, що аплет може приймати два робочих параметри, що визначають його початкову висоту і ширину. Ми можемо встановити вихідні розміри 40x40 пікселів за допомогою двох елементів PARAM.

Зверніть увагу, що ми також встановили атрибут standby. так що агент користувача може відобразити повідомлення під час завантаження генеруючого механізму.

Коли елемент OBJECT згенерований, агенти користувача повинні виконати пошук вмісту тільки для тих елементів PARAM. які є їх прямими дочірніми елементами і "feed" їх to the OBJECT.

Таким чином, в наступному прикладі, якщо згенерований "obj1", "param1" застосовується до "obj1" (і не застосовується до "obj2"). Якщо "obj1» не згенерований, а "obj2" згенерований, "param1" ігнорується, а "param2" застосовується до "obj2". Якщо жоден OBJECT НЕ згенерований, жоден PARAM не застосовується.

У наступному прикладі ми вставляємо аплет на мові Java в документ у форматі HTML.

Встановивши атрибут codetype. агент користувача може визначити, чи потрібно завантажувати чи додаток Java, в залежності від своїх можливостей.

Оголошений OBJECT повинен бути присутнім в документі до першого примірника OBJECT.

У наступному прикладі ми оголошуємо OBJECT і викликаємо його ініціалізацію, вказавши його на засланні. Таким чином об'єкт можна активізувати, клацнувши, наприклад, на виділеному тексті.

13.4 Включення аплету. елемент APPLET

Формальне визначення см. В Transitional DTD.

Повинен бути присутнім один з атрибутів code або object. Якщо дані обидва атрибута code і object. і в них вказані різні імена класів, це є помилкою.

width = довжина [CI] Цей атрибут визначає початкову ширину області відображення аплета (не включаючи вікна і діалоги, створювані апплетом). height = довжина [CI] Цей атрибут визначає початкову висоту області відображення аплета (не включаючи вікна і діалоги, створювані апплетом).

Вміст елемента APPLET служить альтернативною інформацією для агентів користувачів, які не підтримують цей елемент або НЕ сконфигурированних для підтримки аплетів. В іншому випадку агенти користувачів повинні ігнорувати вміст.

ПРИКЛАД небажане використання:
У наступному прикладі елемент APPLET включає в документ аплет на мові Java. Оскільки атрибут codebase не встановлено, передбачається, що аплет знаходиться в тому ж каталозі, що і сам документ.

Цей приклад можна переписати з використанням елемента OBJECT наступним чином:

Задати для аплету вихідні значення можна за допомогою елемента PARAM.

ПРИКЛАД небажане використання:
Наступний аплет на мові Java:

можна визначити з використанням елемента OBJECT наступним чином:

Наприклад, наступний рядок впроваджує вміст файлу embed_me.html в те місце документа, в якому зустрінуте визначення OBJECT.

Згадайте, що вміст елемента OBJECT має генеруватися, тільки якщо файл, що задається атрибутом data. неможливо завантажити.

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

Навігаційна карта створюється шляхом призначення об'єкта із зазначенням відповідних геометричних областей.

Є два типи навігаційних карт:
  • Клієнтська. Коли користувач активізує область клієнтської навігаційної карти за допомогою миші, координати точки інтерпретуються агентом користувача. Агент користувача вибирає посилання, вказану для активізованою області, і виконує її.
  • Серверна. Коли користувач активізує область серверної навігаційної карти за допомогою миші, координати точки клацання передаються агенту на сервері, визначеному за допомогою атрибута href елемента A. Агент на сервері інтерпретує координати і виконує відповідні дії.

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

13.6.1 Клієнтські навігаційні карти: елементи MAP і AREA

Початковий тег: обов'язковий. Кінцевий тег: обов'язковий

Визначення атрибутів елемента MAP name = cdata [CI] Цей атрибут призначає ім'я навігаційної карти, яка визначається елементом MAP.

Визначення атрибутів елемента AREA shape = default | rect | circle | poly [CI] Цей атрибут визначає форму області. Можливі значення:
  • default: Задає всю область.
  • rect: Визначає прямокутну область.
  • circle: Визначає круглу область.
  • poly: Визначає многокутну область.
coords = координати [CN] Цей атрибут визначає положення форми на екрані. Число і порядок значень залежать від певної форми. Можливі комбінації:
  • rect: x лівої межі, y верхньої межі, x правої межі, y нижньої межі.
  • circle: x центру, y центру, радіус. Примітка. Якщо радіус вказано у відсотках, агенти користувача повинні обчислювати остаточне значення радіуса в залежності від призначених об'єкту ширини і висоти. Радіус повинен бути найменшим з цих двох значень.
  • poly: x1, y1, x2, y2. xN, yN.

Атрибут для встановлення зв'язку навігаційної карти з елементом usemap = uri [CT] Цей атрибут пов'язує навігаційну карту з елементом. Навігаційна карта визначається за допомогою елемента MAP. Значення атрибута usemap має збігатися зі значенням атрибута name пов'язаного елемента MAP.

Елемент MAP визначає клієнтську навігаційну карту, яка може бути пов'язана з одним або декількома елементами (IMG. OBJECT або INPUT). Навігаційна карта зв'язується з елементом за допомогою атрибута usemap цього елемента.

Якщо кілька певних регіонів перекриваються, пріоритет має елемент, зазначений в документі першим (тобто на введення користувача відповідає саме цей елемент).

Примітка. Елемент MAP не сумісний з агентами користувачів для мови HTML версії 2.0.

Приклади клієнтських навігаційних карт

У наступному прикладі ми створюємо клієнтську навігаційну карту для елемента OBJECT. Си не хочемо генерувати вміст карти при генерації елемента OBJECT. тому ми "приховуємо" елемент MAP у вмісті елементу OBJECT. Потім вміст елемента MAP буде генеруватися, тільки якщо можна сегеніровать вміст елемента OBJECT.

Нам може знадобитися генерація вмісту карти, навіть якщо агент користувача може згенерувати елемент OBJECT. Наприклад, ми хочемо зв'язати навігаційну карту з елементом OBJECT і включити текстову навігаційну панель внизу сторінки. Щоб це зробити, визначимо елемент MAP поза елементом OBJECT.

У наступному прикладі ми створюємо подібну навігаційну карту, на цей раз використовуючи елемент AREA. Зверніть увагу на використання тексту alt.

У наступному прикладі показано, як елементи можуть спільно використовувати навігаційні карти.

Вкладені елементи OBJECT корисні для забезпечення fallbacks в разі, якщо агент користувача не підтримує певні формати. наприклад:

Серверні навігаційні карти представляють інтерес у випадках, коли карта занадто складна.

Визначити серверну навігаційну карту можна тільки для елементів IMG і INPUT. У разі елемента IMG цей елемент повинен бути включений в елемент A. В разі елемента INPUT він повинен мати тип "image". В обох випадках для елемента повинен бути встановлений логічний атрибут ismap [CI].

Коли користувач активізує посилання, клацнувши на зображенні, екранні координати відправляються безпосередньо на сервер, на якому розташовується документ. Екранні координати виражаються у вигляді пікселів щодо зображення. Нормативну інформацію про визначення пікселів і про їх масштабування см. В [CSS1].

У наступному прикладі активна область визначає серверну посилання. Таким чином клацання в будь-якій точці зображення викличе передачу координат на сервер.

Агенти користувачів, які не пропонують користувачам засобів вибору певних координат (наприклад, неграфічні агенти користувачів, що залежать від введення з клавіатури, мовні агенти користувачів і т.д.) повинні при активізації посилання передавати на сервер координати "0,0".

Всі атрибути елементів IMG і OBJECT. що відносяться до візуальному вирівнюванню і поданням, є застарілими. замість них слід використовувати таблиці стилів.

Визначення атрибутів width = довжина [CN] Перевизначення ширини зображення і об'єкта. height = довжина [CN] Перевизначення для зображення і об'єкта.

Якщо вказані атрибути width і height. вони повідомляють агентам користувача про необхідність перевизначення вихідного розміру зображення або об'єкта цими значеннями.

Атрибути height і width дають агентам користувачів уявлення про розмір зображення або об'єкта, щоб вони могли зарезервувати відповідну простір і продовжувати генерацію документа, чекаючи даних про зображення.

Атрибути vspace і hspace визначають вільний простір зліва і справа (hspace) і над і під (vspace) IMG. APPLET. OBJECT. За замовчуванням значення цього атрибута не визначено, але зазвичай це невелике нульове значення. Обидва атрибута мають значення типу довжина.

Зображення або об'єкт може оточувати межа (наприклад, якщо вона вказана користувачем або зображення має вміст елемента A).

Визначення атрибутів border = пікселиНежелателен. Атрибут border визначає ширину кордону в пікселах. Значення цього атрибута, що використовується за умовчанням, залежить від агента користувача.

Атрибут align визначає положення IMG. OBJECT або APPLET щодо його вмісту.

Наступні значення атрибута align відносяться до положення об'єкта відносно навколишнього тексту:
  • bottom: означає, що вікно об'єкта має бути вертикально вирівняно щодо поточної базової лінії. Це значення використовується за умовчанням.
  • middle: означає, що центр об'єкта повинен бути вирівняний вертикально щодо поточної базової лінії.
  • top: означає, що верх об'єкта повинен бути вертикально вирівняний щодо верху поточного текстового рядка.

Два інших значення, left і right. призводять до переміщення зображення до поточного лівому або правому краю. Вони обговорюються в розділі про плаваючі об'єктах.

Різниця інтерпретацій атрибута align. Агенти користувачів по-різному інтерпретують атрибут align. Деякі беруть до уваги тільки текстову рядок, що знаходиться перед елементом, деякі враховують текст по обидва боки елемента.

Визначення атрибутів alt = текст [CS] Для агентів користувачів, які не мають можливості вивести зображення, форми або аплети, цей атрибут визначає альтернативний текст. Мова альтернативного тексту визначається атрибутом lang.

Атрибут alt повинен бути вказаний для елементів IMG і AREA. Він не є обов'язковим для елементів INPUT і APPLET.

Інформацію про обробку випадків, коли альтернативний текст відсутній, розробники можуть знайти в розділі про генерацію альтернативного тексту.

Схожі статті