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

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

Общая вставка: элемент OBJECT

<!ELEMENT OBJECT - - (PARAM | %flow;)*
 -- общий внедрённый объект -->
<!ATTLIST OBJECT
  %attrs;                              -- %coreattrs, %i18n, %events --
  declare     (declare)      #ПРЕДПОЛАГАЕТСЯ  -- объявляет, но не устанавливает флаг --
  classid     %URI;          #ПРЕДПОЛАГАЕТСЯ  -- идентифицирует класс --
  codebase    %URI;          #ПРЕДПОЛАГАЕТСЯ  -- базовый URI для classid, data, archive--
  data        %URI;          #ПРЕДПОЛАГАЕТСЯ  -- ссылка на данные объекта --
  type        %ContentType;  #ПРЕДПОЛАГАЕТСЯ  -- тип содержимого данных --
  codetype    %ContentType;  #ПРЕДПОЛАГАЕТСЯ  -- тип содержимого кода --
  archive     CDATA          #ПРЕДПОЛАГАЕТСЯ  -- список разделённых пробелами URI --
  standby     %Text;         #ПРЕДПОЛАГАЕТСЯ  -- сообщение для показа во время загрузки --
  height      %Length;       #ПРЕДПОЛАГАЕТСЯ  -- переопределить высоту --
  width       %Length;       #ПРЕДПОЛАГАЕТСЯ  -- переопределить ширину --
  usemap      %URI;          #ПРЕДПОЛАГАЕТСЯ  -- использовать клиентские карты --
  name        CDATA          #ПРЕДПОЛАГАЕТСЯ  -- отправить как часть формы --
  tabindex    NUMBER         #ПРЕДПОЛАГАЕТСЯ  -- позиция в порядке табуляции --
  >
Начальный тег: необходим, Конечный тег: необходим

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

classid = uri [CT]

Этот атрибут может использоваться для определения размещения класса объекта посредством URI. Может использоваться вместе с- или как альтернатива атрибуту data, в зависимости от типа объекта.

codebase = uri [CT]

Определяет базовый путь, используемый для разрешения относительных URI, специфицированных атрибутами classid, data и archive. При отсутствии, значением по умолчанию является базовый URI текущего документа.

codetype = content-type [CI]

Этот атрибут специфицирует тип содержимого данных, ожидаемых при загрузке объекта, определённого атрибутом classid. Этот атрибут не обязателен, но рекомендуется, если classid определён, поскольку он позволяет ПА избежать загрузки информации с неподдерживаемыми типами содержимого. При отсутствии, по умолчанию принимается значение атрибута type.

data = uri [CT]

Может использоваться для спецификации размещения данных объекта, например, данных изображения для объекта, определяющего изображения, или шире, сериализованных форм объекта, который может быть использован для его (изображения?) воссоздания. Если задан как относительный URI, то должен интерпретироваться относительно атрибута codebase.

type = content-type [CI]

Этот атрибут специфицирует тип содержимого данных, определённых в data. Атрибут не обязателен, но рекомендуется, если data определён, поскольку он позволяет ПА избежать загрузки информации с неподдерживаемыми типами содержимого. Если значение этого атрибута отличается от HTTP Content-Type, возвращённого сервером после запроса объекта, HTTP Content-Type имеет приоритет.

archive = uri-list [CT]

Этот атрибут может использоваться для определения разделённого пробелами списка URI для архивов, содержащих ресурсы, относящиеся к объекту, который (список) может включать ресурсы, определённые атрибутами classid и data. Предварительная загрузка архивов как правило уменьшает время загрузки объектов. Архивы, определённые как относительные URI, должны интерпретироваться относительно атрибута codebase.

declare [CI]

Если установлен, этот булев атрибут делает определение текущего OBJECT только объявлением. Объект должен быть установлен последующим определением OBJECT, ссылающимся на это объявление.

standby = text [CS]

Определяет сообщение, которое ПА может показывать при загрузке класса объекта и данных.

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

  • id, class (идентификаторы документа )
  • lang (язык), dir (направление текста)
  • title (заголовок элемента)
  • style (инлайн-стиль)
  • onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
  • tabindex (навигация табуляцией)
  • usemap ( клиентские карты изображений )
  • name (отправка формы)
  • align, width, height, border, hspace, vspace (визуальное представление объектов, изображений и аплетов )

Большинство ПА имеют встроенные механизмы для отображения данных обычных типов, таких как рисунки GIF, цвета, шрифты и небольшое количество графических элементов. Чтобы иметь возможность отображать данные, изначально не поддерживаемые, ПА обычно запускают внешние приложения. Элемент OBJECT позволяет авторам контролировать, должны ли данные просматриваться независимо (вне ПА ) или программой определённой автором для просмотра внутри ПА.

В самом общем случае, автору необходимо специфицировать три типа информации:

  • Реализацию (класс) включённого объекта. Например, если включаемый объект - это аплет "часы", автор должен указать, где находится исполняемый код аплета.
  • Данные для отображения, например, если включаемый объект - это программа, отображающая данные шрифтов, автор должен указать, где находятся эти данные.
  • Дополнительные значения, необходимые для объекта на этапе выполнения. Например, некоторым аплетам требуются начальные значения параметров.

Элемент OBJECT позволяет авторам специфицировать данные всех трёх типов, но не всегда необходимо определять все три. Например, некоторым объектам не нужны данные ( аплет, выполняющий небольшую анимацию). Другие не требуют инициализации при выполнении. Наконец, третьи могут не требовать дополнительной информации о выполнении, т.е. ПА может уже сам "знать", как отображать данные такого типа (напр., рисунки GIF).

Авторы определяют реализацию объекта и размещение данных, отображаемых элементом OBJECT. Чтобы определить значения времени выполнения, авторы используют элемент PARAM, который рассматривается в разделе "инициализация объекта" .

Элемент OBJECT может также появляться в содержимом элемента HEAD. Поскольку ПА обычно не отображают элементы в HEAD, авторы должны удостовериться, что любой элемент OBJECT в HEAD не специфицирует содержимое, которое может отображаться. См. в разделе "разделение данных фрэйма" пример включения элемента OBJECT в элемент HEAD.

См. раздел "элементы управления (ЭУ) формы" об элементе OBJECT в формах.

Этот документ не специфицирует поведение элементов OBJECT, использующих как атрибут classid для идентификации реализации, так и атрибут data для определения данных для этой реализации. Чтобы обеспечить переносимость, авторы должны использовать элемент PARAM для того чтобы сообщить в реализацию, где находятся дополнительные данные.

Ирина Кириллова
Ирина Кириллова

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