Объявление и инициализация объекта

В приведенных выше примерах были показаны отдельные определения объектов. Если в документе должно содержаться несколько экземпляров одного и того же объекта, объявление и инициализацию объекта можно разделить. Такой способ имеет несколько преимуществ:

Данные могут загружаться агентом пользователя из сети один раз (во время объявления) и повторно использоваться в каждой инициализации.

Инициализировать объект можно из местоположения, отличного от того, в котором объект объявлялся, например, из ссылки.

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

Чтобы объявить объект так, чтобы он не обрабатывался агентом пользователя при чтении, установите логический атрибут declare элемента OBJECT. В то же время авторы должны идентифицировать объявление, установив уникальное значение для атрибута id в элементе OBJECT. Инициализация объекта позже будет ссылаться на этот идентификатор.

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

Объект, определенный с атрибутом declare, инициализируется каждый раз, когда необходима генерация элемента, ссылающегося на этот объект (например, активизируется ссылка на него, активизируется объект, ссылающийся на него и т.д.).

В следующем примере мы объявляем OBJECT и вызываем его инициализацию, указав его в ссылке. Таким образом, объект можно активизировать, щелкнув, например, на выделенном тексте.

<P><OBJECT declare

id="earth.declaration"

data="TheEarth.mpeg"

type="application/mpeg">

Вид <STRONG>Земли</STRONG> из космоса.

</OBJECT>

...далее в документе...

<P>Красивое<A href="#earth.declaration"> анимационное изображение Земли!</A>

В следующем примере показано, как указать рабочие значения, являющиеся другими объектами. В этом примере мы отправляем текст (стихотворение) гипотетическому механизму для просмотра стихотворений. Объект распознает рабочий параметр с именем "font" (скажем, для генерации текста стихотворения с использованием определенного шрифта). Значение этого параметра само является объектом, вставляющим (но не генерирующим) объект шрифта. Отношение между объектом шрифта и объектом механизма просмотра стихотворений достигается с помощью (1) назначения атрибута id в объявлении объекта шрифта и (2) ссылки на него в элементе PARAM объекта механизма просмотра стихотворений (с помощью valuetype и value).

<P><OBJECT declare

id="tribune"

type="application/x-webfont"

data="tribune.gif">

</OBJECT>

...просмотр стихотворения из файла KublaKhan.txt...

<P><OBJECT classid="https://foo.bar.com/poem_viewer"

data="KublaKhan.txt">

<PARAM name="font" valuetype="object" value="#tribune">

<P>У вас нет такой классной программы просмотра стихотворений...

</OBJECT>

Агенты пользователей, не поддерживающие атрибут declare, должны генерировать содержимое объявления OBJECT.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: