0Pricing
HTML Academy · Урок

Элементы embed и object

Встраивайте плагины и резервное содержимое с помощью embed и object

«Элементы embed и object» — бесплатный урок HTML Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения HTML Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс HTML Academy содержит 4 уроков всего.

Элемент embed

<embed> встраивает внешнее содержимое с помощью плагина браузера или встроенного обработчика браузера. Его атрибут type указывает тип MIME; src — URL ресурса. Это пустой элемент без дочерних элементов и резервного содержимого.

Элемент object

<object> гибче, чем embed. Его атрибут data указывает на ресурс, а type задаёт тип MIME. Дочерние элементы служат резервным содержимым, если объект не удаётся загрузить, включая вложенный object или описательный текст.

Резервное содержимое в object

Вложите резервное содержимое: <object data="file.pdf" type="application/pdf"><a href="file.pdf">Download PDF</a></object>. Если браузер не может отобразить PDF непосредственно на странице, вместо него отображается ссылка для скачивания. Резервное содержимое — главное преимущество object перед embed.

Встраивание PDF

Встраивайте PDF-файлы с помощью object или embed: <object data="doc.pdf" type="application/pdf" width="100%" height="600">. Поддержка браузерами различается: Chrome и Firefox отображают PDF нативно, а другие браузеры могут показать запрос на скачивание. Предоставляйте резервную ссылку.

Сравнение iframe, object и embed

Для встраивания HTML-документов предпочитайте iframe (он предназначен именно для этого и имеет понятную модель безопасности). Для медиа-плагинов используйте embed (устаревший Flash, отображение SVG). Для документов с резервным содержимым используйте object. В современной разработке большинство сценариев использования плагинов обеспечивают встроенные элементы HTML5 (video, audio, canvas).

Вопросы безопасности

И embed, и object могут выполнять содержимое плагинов (исторически — Flash), что представляет собой значительную поверхность атаки. Современные браузеры удалили поддержку плагинов. Встраивать следует только доверенное содержимое. Содержимым embed или object из другого источника нельзя управлять с помощью скриптов так же, как содержимым того же источника.

SVG через object

Встраивание SVG с помощью object: <object data="image.svg" type="image/svg+xml" width="200" height="200">. В отличие от элемента img, SVG внутри object может выполнять собственные скрипты и реагировать на внешние CSS (если источники совпадают). Используйте этот способ для интерактивного SVG, когда встроить SVG непосредственно непрактично.

Элементы param

Передавайте параметры плагину object с помощью вложенных элементов <param name="autoplay" value="true">. Это был стандартный способ настройки объектов Flash. Сейчас такой подход используется редко, поскольку браузеры удалили поддержку плагинов.

usemap для карт изображений

object можно использовать вместе с usemap для создания карт изображений — кликабельных областей на встроенном изображении. Определяйте области в элементе <map> с дочерними элементами <area>. Современный SVG с href у элементов — лучший подход для интерактивных областей изображения.

Доступность

Добавляйте атрибут title и к embed, и к object, чтобы программа чтения с экрана могла их идентифицировать. object поддерживает aria-label. Ни один из этих элементов не предоставляет такой богатой семантики доступности, как встроенные элементы HTML5. Для медиа всегда предпочтительны встроенные элементы video и audio с субтитрами.

Устаревшие и современные подходы

embed и object — в основном устаревшие элементы. Их основной сценарий использования (Flash) исчез. Допустимые современные сценарии: встроенные документы PDF (с резервным содержимым), интерактивное встраивание SVG и устаревшее содержимое, которое нельзя модернизировать. В новых проектах для всех задач работы с медиа следует отдавать предпочтение встроенным элементам HTML5.

Проверка знаний

Какое главное преимущество даёт использование object вместо embed для встроенного содержимого?

Итоги

embed и object — устаревшие элементы для встраивания содержимого, отличного от HTML. object предпочтителен, когда требуется резервное содержимое. Оба элемента принимают указания типа MIME и передают параметры. Для новых проектов предпочтительны современные аналоги (video, audio, canvas и встроенный SVG). Встраивание PDF с помощью object остаётся распространённым сценарием, а iframe служит альтернативой.

Часто задаваемые вопросы

Урок «Элементы embed и object» бесплатный?

Да — полный текст урока «Элементы embed и object» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс HTML Academy, подпишись на CoddyKit PRO. Курс HTML Academy содержит 4 уроков всего.

Чему я научусь в уроке «Элементы embed и object»?

Встраивайте плагины и резервное содержимое с помощью embed и object Ты практикуешь HTML Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать HTML Academy?

Предыдущий опыт не требуется. HTML Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Элементы embed и object»?

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

Можно ли писать и запускать код в этом уроке HTML Academy?

Да. Каждый урок HTML Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Элемент iframe: src и sandbox
  2. Безопасность iframe: кликджекинг и X-Frame-Options
  3. Элементы embed и object
  4. Отложенная загрузка iframe
← Назад к HTML Academy