36. IFrame and Embedding
В этом уроке мы познакомимся с элементами <iframe> и <embed>, которые позволяют встраивать контент из других источников прямо в вашу веб-страницу. Эти элементы открывают возможности для интеграции видео, карт, документов и даже целых веб-сайтов.
Что такое IFrame?
Заголовок раздела «Что такое IFrame?»<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.
Что такое Embedding?
Заголовок раздела «Что такое Embedding?»Элемент <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"для повышения производительности. - Проверяйте код для встраивания, предоставляемый сторонними сервисами, чтобы убедиться, что он соответствует вашим требованиям.