HTML / 12. Исполняемое содержимое

Вложенное содержимое

В этом разделе мы опишем три тега, поддерживающих вложенное содержимое. Тег <object> входит в стандарты HTML 4 и XHTML. Это универсализированный гибрид нежелательного тега (applet) для вложенных апплетов, в особенности Java-апплетов, и тега расширения <embed>, который позволяет вам включать объекты, MIME-тип которых указывает на плагины, необходимые для обработки и, возможно, отображения этих объектов.

Новые стандарты настоятельно рекомендуют использование тега <object> для включения апплетов так же, как и множества разных самостоятельных включений в ваших документах, даже изображений (хотя стандарты не заходят так далеко, чтобы признать нежелательным тег <img>). Используйте тег <object> с атрибутом classid для включения
Java и других апплетов в документ в сопровождении параметров их исполнения в виде содержимого ассоциированного тега <param>. Используйте атрибут data в теге <object> для загрузки и отображения не HTМL/XHTML-содержимого, такого как мультимедийные объекты, в пользовательском окружении. Данные объекта могут обрабатываться и отображаться вложенными апплетами, утилитами, поставляемыми вместе с броузером, или плагином (вспомогательным приложением), предоставляемым пользователем. Для апплетов броузер создает область отображения в потоке содержимого точно так, как для встроенных изображений или для тега <iframe> –без разрывов строк и в виде одного большого прямоугольника. Затем броузер загружает и исполняет программный код апплета, если он указан, и сразу после загрузки и отображения всего документа загружает и отображает вложенные данные. Исполнение апплета продолжается до тех пор, пока программа не закончится или пользователь не уйдет со страницы, содержащей апплет.
Встречая вложенные данные, броузер расшифровывает тип данных объекта и либо сам отображает эти данные (изображения GIF, PNG и JPEG, например), либо вызывает для работы соответствующее вспомогательное приложение.

Тег <object>
Тег <object> был первоначально введен Microsoft для поддержки своих ActiveX-апплетов и только потом стал поддерживать Java. Подобным образом, Netscape вначале ввела альтернативные теги <embed> и (applet) для включения объектов, а затем предоставила ограниченную поддержку тегу <object>.Из-за склок между гигантами рынка броузеров мы даже колебались, следует ли вообще рекомендовать использование тега <object> в предыдущих изданиях этой книги. Теперь мы опираемся на стандарт HTML 4 и особенно XHTML, и кроме того, современные популярные броузеры поддерживают этот тег. Но надо понимать, что броузеры поразному интерпретируют теги <object> и <embed>. Так, Internet Explorer все еще считает содержимое тега <object> элементами управления ActiveX и запускает вспомогательную программу для вывода данных. Зато содержимое тега <embed> он выводит в составе документа. Содержимым тега <object> может быть любое допустимое HTML- или XHTML-содержимое, а также тег <param>, передающий апплету пара-метры. Если броузеру удается получить запрашиваемый объект и успешно обработать его, запустив апплет или обработав данные объекта при помощи плагина (вспомогательного приложения), содержимое тега <object> игнорируется, если не считать тега <param>. Если возникают проблемы в процессе получения и обработки объекта, броузер не станет вставлять объект в документ, а отобразит вместо этого содержимое тега
<object>, за исключением тега <param>. Короче говоря, следует обеспечить альтернативное содержимое для броузеров, которые не умеют обращаться с тегом <object>, и на случай проблем с загрузкой объекта.

Атрибут classid
Атрибут classid используется для указания расположения объекта, обычно Java-класса, который должен быть получен броузером. Значением атрибута может быть абсолютный или относительный URL соответствующего объекта. Относительные URL отсчитываются от URL, указанного в атрибуте codebase. Если эта спецификация отсутствует, они отсчитываются от URL текущего документа.

Так, чтобы запустить апплет clock, содержащийся в файле под названием clock.class, можно поместить в HTML-документ следующий код:

<object classid="java:clock.class">
</object>

Броузер найдет код апплета, использовав URL текущего документа в качестве базового. Следовательно, если URL текущего документа это:

http://www.kumquat.com/harvest_time.html

Броузер будет искать код апплета нашего класса clock по адресу:

http://www.kumquat.com/clock.class

Атрибут codebase
Используйте атрибут codebase для предоставления альтернативного базового URL, от которого броузер будет отсчитывать адреса объектов. Значение этого атрибута – это URL, указывающий на директорию, содержащую объект, на который указывает атрибут classid. URL, указанный в качестве значения codebase, имеет приоритет перед используемым по умолчанию базовым URL документа, но не замещает его полностью.

Теперь, продолжая иметь дело с нашим предыдущим примером, предположим, что ваш документ пришел с сервера http://www.kumquat.com, но апплет clock хранится в отдельной директории под названием classes. Вы не сможете получить апплет, написав classid="classes/
clock.class". Вместо этого включите в тег атрибут codebase и новый базовый URL:

<object classid="clock.class" codebase="http://www.kumquat.com/classes/">
</object>который разрешится в URL:
http://www.kumquat.com/classes/clock.class

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

<object code="clock.class" codebase="/classes/">
</object>

Атрибут classid подобен атрибуту code тега (applet), указывающему имя файла, содержащего апплет, и используется в сочетании с атрибутом codebase для определения полного URL объекта, который нужно получить и поместить в документ.

Атрибут archive
По соображениям общей эффективности работы можно решить заранее загрузить набор объектов, содержащийся в одном или нескольких архивах. Это особенно верно для Java-приложений, где один Java-класс может при работе опираться на множество других классов. Значением атрибута archive служит заключенный в кавычки список URL, каждый из которых указывает на архив, который должен быть загружен броузером перед отображением или исполнением объекта.

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

Следующий пример явным образом сообщает броузеру, что код объекта – это Java:

<object code="clock.class" codetype="application/java">
</object>

Атрибут data
Атрибут data используется для указания – если такой имеется – файла данных, который должен обрабатываться объектом. Значение атрибута data – это URL файла, абсолютный или отсчитываемый относительо базового URL документа или от того, который вы указали в атрибуте codebase. Броузер определяет тип данных по типу объекта, который
вставляется в документ.

Этот атрибут подобен атрибуту srс тега <img> тем, что он указывает на данные, подлежащие отработке со стороны включаемого объекта. Раз-ница состоит, разумеется, в том, что атрибут data позволяет включить файл практически любого типа, а не только содержащий изображение.

Фактически тег <object> ожидает, хотя и не требует этого, что вы явно назовете обрабатывающее приложение объекта в спецификации атрибута classid или укажете MIME-тип файла посредством атрибута type, чтобы помочь броузеру решить, как обрабатывать и отображать данные.

К примеру, вот изображение, включенное в документ в виде объекта, а не файла, указанного в теге <img>:

<object data="pics/kumquat.gif" type="image/gif">
</object>

Атрибут type
Атрибут type позволяет явно указать MIME-тип данных в файле, объявленном в атрибуте data. (Используйте codetype для обозначения MIME-типа апплета.) Если вы не предоставляете данных или если MIМE-тип данных с очевидностью следует из URL или сообщается сервером, этот атрибут можно пропустить. Мы рекомендуем вам все же
включать его, чтобы гарантировать, что броузер и включенный объект будут обращаться с вашими данными надлежащим образом.

Примеры MIME-типов вы можете обнаружить, заглянув в настройки броузера. Там вы можете найти список множества типов файлов данных, которые распознает ваш броузер, и приложений – если это не сам броузер, – которые обрабатывают и отображают файлы этого типа.

Атрибуты align, class, border, height, hspace,style, vspace и width
Имеются несколько атрибутов, которые позволяют управлять внешним видом области отображения объекта из тега <object>, совершенно так же, как это делают соответствующие атрибуты тега <img>. Атрибуты height и width управляют размерами области отображения. Атрибуты hspace и vspace определяют поля вокруг области отображения. Значения этих атрибутов указываются в пикселах. Атрибут align определяет то, как броузер должен расположить область отображения объекта по отношению к окружающему тексту. Используйте значения top, texttop, middle, absmiddle, baseline, bottom или absbottom, чтобы выровнять область отображения объекта по отношению к примыкающему тексту, или значения left и right, чтобы позволить тексту обтекать ее. Размеры области отображения часто должны соответствовать нуждам апплета, так что позаботьтесь о том, чтобы эти размеры были согласованы с автором-программистом этого апплета. Иногда апплет может масштабировать свой вывод в соответствии с указанными вами размерами области отображения.

Например, предположим, что апплет clock из нашего примера должен уметь растягиваться или сжиматься, чтобы поместиться почти во всякой области отображения. Тогда можно создать квадратные часы 100×100 пикселов:

<object classid="clock.class" height="100" width="100">
</object>

Как в случае тега <img>, используйте атрибут border для управления толщиной рамки, окружающей область отображения объекта, входящего в гиперссылку. Нулевое значение (border=0) убирает рамку.

Используйте атрибуты class и style для управления стилем отображения содержимого тега и для форматирования его содержимого в соответствии с заранее определенным классом стиля для тега <object>.

Атрибут declare
Атрибут declare позволяет определить объект, но удерживает броузер от его загрузки и обработки. Используемое вместе с атрибутом name, это средство подобно предварительным объявлениям в традиционных языках программирования, которые позволяют вам отложить загрузку объекта до момента его фактического использования в документе.

Атрибуты id, name и title
Атрибут id или атрибут name используется для создания уникальной метки объекта. Атрибут title используется для того, чтобы просто назвать тег. Значением каждого из этих атрибутов служит строка символов. Броузер может решить представить название объекта пользователю или как-то еще использовать его при отображении документа. Значения id и name используются для ссылок на объект из других элементов ваших документов, включая гиперссылки и другие объекты.

Для примера допустим, что в документе имеются два апплета, изображающие часы, вместе с двумя апплетами, устанавливающими на них время. Снабдите апплеты часов уникальными метками при помощи атрибутов id или name, а затем передайте эти метки устанавливающим время апплетам, используя тег <param>, обсуждаемый далее в этой главе:

<object classid="clock.class" id="clock1">
</object>
<object classid="clock.class" id="clock2">
</object>
<object classid="setter.class">
<param id="clockToSet" value="clock1"></object>
<object classid="setter.class">
<param id="clockToSet" value="clock2">
</object>

Поскольку нам нет необходимости различать устанавливающие время апплеты, мы решили не снабжать идентификаторами их экземпляры.

Атрибуты shapes и usemap
Напомним, что, как это подробно обсуждалось при описании гиперссылок в главе 6, можно разделить картинку на геометрические области и ассоциировать с каждой из них гиперссылку, создав то, что мы называем картой. Атрибуты shapes и usemap для тега <object> переносят эту возможность на объекты других типов.

Стандартный атрибут shapes информирует броузер, что содержимое тега <object> включает в себя последовательность гиперссылок и определений геометрических фигур. Атрибут usemap и его обязательное значение, являющееся URL, указывает на карту <map>, в которой определяются фигуры и ассоциированные с ними гиперссылки точно так же, как это делается с картами со стороны клиента

К примеру, вот карта, описанная нами в главе 6, переписанная на XHTМL как объект с «фигурами»:

<object data="pics/map.gif" shapes="shapes">
(a shape="rect" coords="0,0,49,49" href="main.html#link1")(/a)
(a shape="rect" coords="50,0,99,49" href="main.html#link2")(/a)
(a shape="rect" coords="0,50,49,99" href="main.html#link3")(/a)
(a shape="rect" coords="50,50,99,99" href="main.html#link4")(/a)
</object>

и как более знакомая карта:

<object data="pics/map.gif" usemap="#map1">
</object>
...
<map name="map1">
(rea coords="0,0,49,49" href="main.html#link1" /)
(area coords="50,0,99,49" href="main.html#link2" /)
(area coords="0,50,49,99" href="main.html#link3" /)
(area coords="50,50,99,99" href="main.html#link4")
</map>

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

Атрибут standby
Атрибут standby позволяет отобразить сообщение – значение атрибута, являющееся строкой текста, – на то время, пока броузер будет загружать данные объекта. Если объекты велики или если предполагается, что пользователь может соединяться по медленному каналу связи, добавьте этот атрибут в порядке любезности по отношению к пользователям.

Атрибуты tabindex и notab
Для Internet Explorer и только для объектов ActiveX атрибут notab исключает объект из табуляционной последовательности документа.

В качестве альтернативы использованию мыши пользователи могут переходить между активными элементами документа при помощи клавиши <Tab>. Затем пользователь может активизировать выбранный элемент, нажав клавишу <Enter> или <Return>, а броузеры, возможно, предоставят другие механизмы выделения содержимого. В типичном случае каждый раз, когда пользователь переходит на следующий объект (например, нажимая на клавишу <Tab>), броузер перешагивает с одного активного элемента на другой в том порядке, в каком они появляются в документе. При помощи атрибута tabindex этот порядок
можно изменить. Значение этого атрибута – целое число, указывающее позицию этого элемента в общей последовательности переходов для текущего документа.

Атрибуты dir и lang
Атрибут lang позволяет явным образом указать язык для содержимого тега <object>. Атрибут dir советует броузеру, в каком направлении следует отображать текст.

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

Броузеры, не поддерживающие апплетыили тег <object>
Поскольку некоторые броузеры, возможно, не поддерживают апплеты или тег <object>, вам, может быть, захочется сообщить пользователям, что они теряют. Заключив соответствующее сообщение (а это может быть любое разрешенное в теле документа содержимое) между тегами <object> и </object>, вы добьетесь желаемого.Поддерживающие тег <object> броузеры игнорируют дополнительное содержимое тега. Броузеры, не поддерживающие объекты, разумеется, не распознают тега <object>. Вообще терпимые к очевидным ошибкам, броузеры обычно игнорируют нераспознанные теги и попросту продолжают отображать все, что было внутри тега. Вот и все. Следующий фрагмент сообщает пользователям броузеров, не поддерживающих объектов, что они не увидят часов из нашего примера:

<object classid=clock.class>

Если бы ваш броузер умел работать с апплетами, то вы бы смогли увидеть прямо здесь стильные часы!

</object>

Что более существенно, поддерживающие объекты броузеры отобразят содержимое тега <object>, если не смогут загрузить, исполнить или вывести объект. Если есть несколько объектов сходного назначения, но с различающейся доступностью, можно включить их теги друг в друга, броузер будет перебирать эти объекты по очереди и остановится на первом, с которым он умеет обращаться. Так, например, самый внешний объект может быть полноценным видео. Внутри его тега <object> можно поместить более простое MPEG-видео, а внутри его тега <object> – простое GIF-изображение. Если броузер поддерживает полноценное видео, то пользователи его увидят. Если видео этого уровня оказывается недоступным, броузер может попробовать загрузить менее ресурсоемкий видеоклип в формате MPEG. Если это не удалось, броузер может просто вывести изображение. Если и это оказалось невозможным, самый внутренний тег <object> может содержать словесное описание объекта.

Тег <param>
Тег <param> предоставляет параметры тегам <object> или (applet), в которых он содержится.

Тег <param> не имеет содержимого, и в HTML у него нет закрывающего тега. Он может находиться, возможно, наряду с другими тегами <param>только внутри тегов <object> или (applet). Используйте тег <param> для передачи параметров вложенному объекту, такому как Java-апплет, если это нужно для его правильного функционирования.

Атрибуты id, name и value
У тега <param> два обязательных атрибута: name или id, и value. Вы уже видели такое в формах. Вместе они определяют пару имя/значение, которую броузер передает апплету.
Наш апплет clock из предыдущего примера может предоставлять пользователю возможность указать часовой пояс, в котором он живет. Чтобы передать нашему апплету параметр под названием «timezone» с присвоенным ему значением «EST», определите параметры следующим образом:

<object classid="clock.class">
<param id="timezone" value="EST" />
</object>

Броузер передает апплету пару имя/значение, но это не гарантирует, что апплет ожидает эти параметры, что имя и значение – правильные или что апплету вообще нужны параметры. Правильные имена параметров с учетом регистра и допустимые их значения определяются автором апплета. Разумный автор веб-страниц будет работать в тесном
контакте с автором апплета или обзаведется подробной документацией, чтобы гарантировать, что параметры апплета названы правильно и им присвоены допустимые значения.

Атрибуты type и valuetype
Используйте атрибуты type и valuetype для определения типа параметра, передаваемого броузером вложенному объекту, и того, как объект должен интерпретировать значение этого параметра. Атрибут valuetype принимает одно из трех значений: data, ref и object. Значение data указывает, что значение параметра – это простая строка. Это значение
принимается по умолчанию. Если valuetype=ref, то значение параметра – это URL какого-то другого ресурса Cети. Наконец, object указывает, что значение – это имя другого вложенного объекта в данном документе. Это может понадобиться для поддержки коммуникации между объектами документа.

Значение атрибута type – это MIME-тип значения параметра. Оно обычно не имеет никакой важности, когда значение параметра – простая строка, но может быть существенным, когда значение является URL, указывающим на некий другой объект в Сети. В этих случаях
вложенному объекту бывает нужно знать MIME-тип объекта, чтобы правильно его использовать. К примеру, следующее описание параметра сообщает вложенному объекту, что параметр на самом деле является документом Microsoft Word:

<param id="document" value="http://kumquats.com/quat.doc"
type="application/msword" valuetype="ref" />

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

Большинству апплетов нужны один или несколько параметров, управляющих исполнением апплета, которые передаются им из вашего документа. Параметры размещаются между тегом (applet) и закрывающим тегом (/applet) в теге <param>. Броузер передаст апплету параметры, определенные в документе, при его запуске.

Тег (applet) нежелателен в стандартах HTML 4 и XHTML. Его функцию теперь выполняет универсальный тег <object>, который может все то же, что и (applet), и еще многое другое. Тем не менее (applet) – это популярный тег, и его по-прежнему поддерживают популярные броузеры.

Отображение апплетов
Броузер создает для апплета область отображения в потоке содержимого точно так же, как и для встроенных изображений, – без разрывов строк и в виде одного большого прямоугольника. Затем броузер загружает и исполняет программный код апплета, если он определен, и сразу после загрузки и отображения всего документа загружает и отображает вложенные данные. Исполнение апплета продолжается до тех пор, пока программа не закончится или пользователь не уйдет со страницы, содержащей апплет.

Атрибут align
Как и в случае изображения или тега <iframe>, атрибут align позволяет вам управлять областью вывода апплета по отношению к окружающему его тексту, хотя создатели стандартов и предпочли бы, чтобы выпользовались свойствами выравнивания, определенными в CSS. Используйте значения top, texttop, middle, absmiddle, baseline, bottom или absbottom, чтобы выровнять область отображения объекта по отношению к примыкающему тексту, или значения left и right, чтобы позволить тексту обтекать область отображения апплета.

Атрибут alt
Атрибут alt предоставляет способ вежливо уведомить пользователей, что что-то потерялось, когда по какой-то причине апплет не может или не хочет исполняться на их компьютерах. Значение этого атрибута – это заключенная в кавычки строка сообщения, которая, как и в случае атрибута alt для изображений, отображается вместо самого апплета.

Сообщение в атрибуте alt предназначено только для тех броузеров, которые поддерживают апплеты.

Атрибут archive
Атрибут archive собирает часто использующиеся классы Java в одну библиотеку, которая кэшируется на локальном диске пользователя.

Когда библиотека кэширована, броузеру нет необходимости использовать сеть, чтобы получить апплет, – он извлекает нужную программу из своих локальных запасов, исключая тем самым задержки, связанные с дополнительным использованием сети для загрузки класса.

Значением атрибута archive является URL, указывающий на архивный файл. Суффиксом имени архивного файла может быть либо .zip, либо .jar. Архивные файлы .zip имеют хорошо известный формат ZIP-архивов. Архивные файлы .jar имеют формат Java-архивов. Архивные файлы .jar поддерживают сжатие данных и передовые возможности, такие как механизмы электронной подписи.

Атрибут archive можно использовать в теге (applet), даже если класс, на который указывает атрибут тега code, отсутствует в архиве. Если класс не обнаруживается в архиве, броузер просто пытается получить класс по URL, указанному в URL документа или в URL атрибута codebase, если последний определен.

Атрибуты code и codebase
Атрибут code является обязательным для тега (applet). Используйте атрибут code для определения имени файла (но не URL) класса Java, который должен быть запущен броузером. Как и в случае тега <object>, чтобы поиск производился относительно другого места хранения, используйте атрибут codebase.

Расширение имени файла должно быть .class. Если расширение опущено, некоторые броузеры автоматически допишут .class при поиске апплета.

Вот знакомый нам апплет с часами часов, но уже с тегом (applet):

(applet code="clock.class" codebase="http://www.kumquat.com/classes/")
(/applet),
который броузер получит по адресу:
http://www.kumquat.com/classes/clock.class

Атрибут name
Атрибут name позволяет снабдить уникальным именем экземпляр класса – ту копию апплета, которая исполняется на персональном компьютере пользователя. Как и в случае других именованных элементов документа, ассоциирование имени с апплетом позволяет другим частям документа, включая другие апплеты, ссылаться на него и взаимодействовать с ним, например совместно используя результаты вычислений.

Атрибуты height, hspace, vspace и width
Используйте атрибуты height и width (идентичные их аналогам для тегов <img> и <object>) для определения размера области отображения апплетов в документе. Атрибуты hspace и vspace используются для того, чтобы окружить область апплета некоторым свободным пространством и, тем самым, выделить его из текста. Все эти атрибуты принимают значения, обозначающие размеры в пикселах.

Атрибут mayscript
Атрибут mayscript позволяет апплету взаимодействовать с функциями JavaScript. Обычно попытка апплета получить доступ к функциям JavaScript вызывает ошибку броузера. Если апплет использует JavaScript, вы должны включить в тег (applet) атрибут mayscript.

Атрибут title
Значением этого атрибута является заключенная в кавычки строка, которая используется для присвоения апплету названия, если это оказывается необходимым.

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

Тег <embed> (расширение)
Когда-то тег <embed> был единственным способом включения в документ ссылки, предписывающей броузеру запустить некоторый специальный добавляемый модуль и, возможно, обработать данные для него. Сегодня стандартом является тег <object> с атрибутом data, и мы рекомендуем вам использовать его вместо тега <embed>. Впрочем, <embed> пользуется поддержкой всех популярных броузеров.Используя тег <embed>, ссылайтесь на объект данных при помощи атрибута src, значением которого является URL файла, который должен быть загружен броузером. Броузер использует MIME-тип объекта, указанного в srс для определения того, какой плагин нужен для обработки объекта. В качестве альтернативы можно использовать атрибут type для указания MIME-типа вне объекта и, таким образом, инициировать исполнение плагина, если он имеется на компьютере пользователя.

Как у всех других тегов, у нестандартного тега <embed>, принадлежащего к расширениям Internet Explorer и Netscape, есть множество свойственных ему атрибутов, определяющих его параметры и модифицирующих его поведение. В отличие от большинства других тегов, однако, броузеры позволяют вам включать в тег <embed> специфичные для плагина пары имя/значение, которые не изменяют действие самого тега, но передаются плагину для дальнейшей обработки.

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

<embed src=movie.avi width=320 height=200 autostart=true loop=3>

имеет атрибуты, обрабатываемые броузером для тега <embed> (srс, width, heigth), и два других, которые не распознаются броузером, но вместо этого передаются плагину, ассоциированному с AVI видеоклипами: autostart (автозапуск) и loop (количество повторов).

Невозможно задокументировать всевозможные атрибуты, которые могут понадобиться множеству разных плагинов и должны переда-ваться при помощи тега <embed>. Чтобы узнать обо всех обязательных и необязательных атрибутах всех тех элементов, которые вы намерены использовать на ваших страницах, вам придется обратиться к разработчикам плагинов.

Атрибуты align, border, height, width, hspace и vspace
Броузер отводит отдельную область для отображения вложенных объектов внутри окна документа. Атрибуты тега <embed> align, border, height, width, hspace и vspace позволяют управлять внешним видом области отображения объекта точно так же, как они это делают для тега <img>, так что мы не будем говорить о них здесь подробно.

Вкратце, атрибуты height и width управляют размером области отображения. Обычно следует указывать эти размеры в пикселах, но можно использовать и другие единицы измерения, если присвоить значение атрибуту units. Атрибуты hspace и vspace определяют ширину полей в пикселах вокруг области отображения объекта.

Атрибут align определяет, как броузер должен выравнивать область отображения объекта по отношению к окружающему тексту, а атрибут border определяет толщину рамки (если таковая имеется) вокруг области отображения.

Все популярные броузеры поддерживают атрибуты height, width и align, но Internet Explorer не поддерживает атрибуты border, hspace и vspace для тега <embed>, поддерживая их, однако, для тегов (applet) и <object>.

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

Этот атрибут полезен при включении в документ аудиовставок. Следующий HTML-код:

<embed src=music.wav hidden autostart=true loop=true>

вкладывает в страницу аудиообъект. Броузер ничего не показывает пользователю, но вместо этого включает музыкальное сопровождение страницы. Для сравнения плагин, присоединенный посредством <embed src=music.wav>,может вывести на страницу панель управления, при помощи которой пользователь может включать и выключать воспроизведение записи, регулировать громкость и т. д.

Атрибут name
Подобно другим атрибутам name этот атрибут позволяет снабдить вложенный объект меткой, используемой в дальнейшем для ссылок на этот объект со стороны других элементов документа, в частности, других объектов. Значением атрибута служит строка символов.

Атрибут palette
Атрибут palette поддерживают и Netscape, и Internet Explorer, но совершенно по-разному. Для Netscape значением атрибута palette могут быть либо foreground, либо background, указывающие, какую палитру системных цветов окна использует при отображении плагин.
Для Internet Explorer значением этого атрибута служит, напротив, пара шестнадцатеричных кодов цветов, разделенных вертикальной чертой. Первое значение указывает цвет переднего плана, используемого плагином, а второе – цвет фона. Таким образом, следующее определение атрибута palette:

palette=#ff0000|#00ff00

заставит плагин использовать красный цвет для переднего плана и зеленый – для фона. Полное описание шестнадцатеричных кодов цветов вы найдете в приложении G.

Атрибут pluginspage
Атрибут pluginspage, в прежние времена поддерживаемый только Netscape, указывает URL веб-страницы, содержащий информацию о том, где можно получить и каким образом установить плагин, ассоциированный с вложенным объектом. В настоящее время все популярные броузеры предложат вам загрузить поддерживающие плагины с соответствующих домашних страниц.

Атрибут srс
Подобно мириадам его аналогов, ссылающихся на документы в других тегах, атрибут src представляет URL объекта данных, который вкладывается в HTML-документ. Сервер, поставляющий этот объект, должен быть сконфигурирован так, чтобы сообщать броузеру правильный MIМE-тип объекта. Если этого не происходит, броузер использует суффикс (расширение имени файла в пути URL) последнего элемента URL для определения типа объекта. По MIME-типу броузер определяет, какой плагин надо запустить для обработки объекта.Если не включить в тег <embed> атрибут srс, то нужно включить атрибут type, чтобы явно указать MIME-тип объекта и, таким образом, необходимый для него плагин.

Атрибут type
Атрибут type используется в качестве дополнения к атрибуту srс или вместо него. Значение этого атрибута явным образом указывает MIМE-тип вложенного объекта, который, в свою очередь, определяет, какой плагин будет вызван броузером для обработки объекта. Этот атрибут не является обязательным, если включен атрибут srс, и броузер может определить тип объекта на основании URL объекта или сообщения сервера. Если атрибут srс не задан, то атрибут type должен быть указан обязательно. Может показаться странным использование тега <embed> без атрибута srс, ссылающегося на какой-либо объект, но это обычное дело, когда плагину не нужны данные или он их получает динамически после запуска. В этих случаях атрибут type необходим, чтобы броузер знал, какой плагин следует запустить.

Атрибут units
По умолчанию в качестве единиц измерения для атрибутов height и width, регулирующих размеры области отображения тега <embed>, используются пикселы. Атрибут units позволяет явным образом указать, что единицами размеров являются пикселы (pixels) или относительные единицы en, равные половине текущего значения высоты шрифта в пунктах. Используя единицы en, вы выкраиваете область отображения объекта пропорционально его непосредственному окружению, размеры которого регулируются пользователем.

Например:

<embed src=movie.avi height=200 width=320 units=pixels>

создает область отображения объекта размером 200×320 пикселов. Заменив значение атрибута units на en, в окружении текста размером в 12 пунктов вы выделяете для отображения объекта область размером 1200×1920 пикселов.

Тег <noembed> (расширение)
Тег <noembed>, хотя и не прописан в стандартах, поддерживается популярными броузерами, то есть они игнорируют текст, заключенный в этот тег. С другой стороны, броузеры, не распознающие тег <embed>, игнорируют и <noembed>, выводя заключенный в него текст и, тем самым, предоставляя пользователям альтернативное содержимое, сообщающее им, что они теряют из-за недоступности им содержимого тега <embed>.Содержимое тега <noembed> позволяет информировать пользователя о недостаточности возможностей его броузера:

<embed src=cool.mov autostart=true loop=true>
<noembed>

Чтобы увидеть крутой ролик, вам необходимо установить броузер, который поддерживает тег <embed>!</noembed> Мы рекомендуем использовать сообщение в теге <noembed> только в тех случаях, когда вложенный объект имеет решающее значение для понимания и использования вашего документа. При этом следует предоставить ссылку на документ, который может обойтись без вложенного объекта, или вежливо объяснить возникшее затруднение.

Статьи по HTML на эту тему:

JavaScript
Таблицы стилей JavaScript (устарели)

Вернуться в раздел: HTML / 12. Исполняемое содержимое