Тег <OBJECT>
Тег <OBJECT> применяется для вставки в HTML-страницу объектов. Эти объекты используются браузером для обработки различных файлов: изображения, аудио или видеофайлы, флеш-анимация, и т.д. Некоторые типы файлов (допустим, GIF-изображения) браузеры понимают изначально и могут отобразить используя внутренние ресурсы. Но, тем не менее, благодаря тегу <OBJECT> можно выбрать каким образом эти файлы будут обрабатываться: самим браузером (если он их понимает) или подключаемой к нему программой, которая будет запущена.
Подключаемыми программами могут быть различные плагины, надстройки и так далее, которые используются в зависимости от типа обрабатываемых данных. В этой роли могут выступать аудио, видео, флеш-плееры, компоненты ActiveX, апплеты и другие программы. Если браузер не может найти нужный плагин-расширение на компьютере пользователя, то загружает его по адресу указанному в теге <OBJECT>.
Также, при помощи данного элемента можно внедрять в страницы другие HTML-документы, наподобие тега <IFRAME>. Но, в отличие от фреймов, встроенные таким образом документы нельзя заменить другими в процессе работы.
Элементы <OBJECT> можно неоднократно вкладывать друг в друга, размещая в них альтернативную информацию, на случай, если объект родительского контейнера браузер не сможет отобразить. Также, внутри них активно используются теги <PARAM>, передающие дополнительные данные.
Кроме этого, тег <OBJECT> может не поддерживаться некоторыми браузерами вообще или в отдельных случаях (Помните об этом!), поэтому для подстраховки в него часто вкладывают тег <EMBED>, с подобным содержимым, который размещают перед закрывающим тегом.
При обработке <OBJECT> браузеры действуют следующим образом. Сначала они пытаются отобразить объект, используя только информацию открывающего тега <OBJECT> и вложенных тегов <PARAM>, если они есть. Затем, если ничего не получилось, они переходят к остальным вложенным тегам и пытаются отобразить их, например, это может быть альтернативный текст или еще один тег <OBJECT>, с которым они действуют по такому же принципу и т.д.
Атрибуты
Личные атрибуты:
Тип тега
Назначение: объекты.
Модель тега: inline (встроенный, уровня строки). Также его можно размещать в заголовке страницы, внутри <HEAD>. Но только в том случае, если <OBJECT> не будет иметь визуально отображаемого содержимого.
Может содержать: block-теги, inline-теги, теги <PARAM>, обычный текст и спецсимволы HTML (мнемоники).
Открывающий тег: необходим. Закрывающий тег: необходим.
Синтаксис
<object>содержимое</object>
Пример HTML: применение тега OBJECT
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "https://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>seodon.ru - Применение тега OBJECT</title>
</head>
<body>
<div><!-- Встраиваем HTML-документ -->
<object data="files/hello.html" width="100%">
Извините, но файл не может быть отображен.
</object>
</div>
<div><!-- Подключаем аудиофайл -->
<!-- Этот OBJECT для IE -->
<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" width="300" height="65"
codebase="https://www.apple.com/qtactivex/qtplugin.cab">
<param name="src" value="files/sound.mid">
<param name="autoplay" value="false">
<!-- А этот, внутренний, для Opera, Chrome и FF -->
<object data="files/sound.mid" type="audio/midi" width="300" height="65">
<param name="autoplay" value="false">
</object>
</object>
</div>
</body>
</html>
В данном примере теги <OBJECT>, подключающие аудио, вложены друг в друга, так как одни браузеры понимают первый вариант, а другие — второй. Для пущей кроссбраузерности можно было добавить еще и <EMBED>, но тогда пример был бы невалидным.
Поддержка версиями HTML
Версия: | HTML 4.01 | HTML 5 | XHTML 1.0 | XHTML 1.1 |
Поддержка: | Да | Да | Да | Да |
Поддержка браузерами
Браузер: | Internet Explorer | Google Chrome | Mozilla Firefox | Opera | Safari |
Версия: | 6.0 и выше | 2.0 и выше | 2.0 и выше | 9.2 и выше | 3.1 и выше |
Поддержка: | Да | Да | Да | Да | Да |