Перейти к содержимому

36. IFrame and Embedding

Иллюстрация к уроку В этом уроке мы познакомимся с элементами <iframe> и <embed>, которые позволяют встраивать контент из других источников прямо в вашу веб-страницу. Эти элементы открывают возможности для интеграции видео, карт, документов и даже целых веб-сайтов.

<iframe> (Inline Frame) - это HTML-элемент, который создает встроенный фрейм в текущем HTML-документе. По сути, это “окно” внутри вашей страницы, которое отображает другой HTML-документ.

<iframe src="https://www.example.com" width="600" height="400" title="Описание сайта example.com">
Ваш браузер не поддерживает iframe.
</iframe>
  • src: Указывает URL документа, который будет отображаться во фрейме.
  • width и height: Определяют размеры фрейма в пикселях.
  • title: Предоставляет текстовое описание фрейма для доступности (например, для скринридеров). Важно для SEO и доступности!
  • Текст между открывающим и закрывающим тегами <iframe> отображается, если браузер пользователя не поддерживает iframe.

Элемент <embed> предназначен для встраивания внешнего контента, такого как мультимедиа (аудио, видео), PDF-документы, флеш-анимации (хотя Flash устарел и не рекомендуется к использованию) и т.д. В отличие от <iframe>, <embed> обычно используется для отображения контента, который не является HTML-документом.

<embed src="my_video.mp4" type="video/mp4" width="640" height="360">
  • src: Указывает URL встраиваемого файла.
  • type: Определяет MIME-тип встраиваемого контента. Важно для правильной обработки браузером.
  • width и height: Определяют размеры отображаемого контента.

Встраивание видео с YouTube:

<iframe width="560" height="315" src="https://www.youtube.com/embed/dQw4w9WgXcQ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
  • Обратите внимание на src: YouTube предоставляет специальный URL для встраивания видео.
  • allowfullscreen: Разрешает пользователю развернуть видео на весь экран.

Встраивание карты Google Maps:

<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2247.874098521688!2d37.6177635!3d55.755826!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x46b54a59a9c88495%3A0x8017213784233e70!2z0JzQvtGB0LrQstCw!5e0!3m2!1sru!2sru!4v1678886400000!5m2!1sru!2sru" width="600" height="450" style="border:0;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe>
  • Google Maps предоставляет код для встраивания карт, который можно скопировать и вставить в свой HTML.
  • loading="lazy": Улучшает производительность, загружая карту только тогда, когда она становится видимой в окне браузера.
  • referrerpolicy="no-referrer-when-downgrade": Ограничивает информацию, передаваемую о вашем сайте при переходе на сайт Google Maps, повышая конфиденциальность.
  • Видеохостинги (YouTube, Vimeo): Используют <iframe> для предоставления кода, который можно встроить на другие сайты, позволяя пользователям делиться видеоконтентом.
  • Картографические сервисы (Google Maps, Yandex.Maps): Предоставляют код <iframe> для встраивания карт с указанием местоположения и маршрутов.
  • Платформы для создания презентаций (Slideshare, Prezi): Позволяют встраивать презентации на другие сайты с помощью <iframe>.
  • Социальные сети (Twitter, Facebook): Используют <iframe> для встраивания постов и виджетов.
  • <iframe> создает встроенный фрейм для отображения другого HTML-документа.
  • <embed> предназначен для встраивания мультимедийного и другого не-HTML контента.
  • Обязательно указывайте атрибуты width, height и title для <iframe>.
  • Используйте атрибут type для <embed>, чтобы указать MIME-тип контента.
  • Учитывайте вопросы безопасности и конфиденциальности при встраивании контента с других сайтов.
  • Используйте loading="lazy" для повышения производительности.
  • Проверяйте код для встраивания, предоставляемый сторонними сервисами, чтобы убедиться, что он соответствует вашим требованиям.