Интернет, компьютеры, софт и прочий Hi-Tech

Подписаться через RSS2Email.ru

HTML тег <iframe>

Само понятие iframe образовалось как сокращение от inline frame, то бишь, «вписанный фрейм». Куда вписывают inline-фреймы? Да прямо в веб-страницу, практически в любое её место. В наши дни iframe используется как для благих целей, так и для очень нехороших. Поэтому уяснить суть понятия полезно и начинающим веб-мастерам, и всем остальным пользователям.

Суть вкратце

Да, inline-фреймы можно вставлять куда угодно, даже посреди текста. Например, в ячейку таблицы. Сие является концептуальным отличием от разделения страниц на обычные фреймы, которые уже давно считаются моветоном.

С помощью inline-фреймов можно показывать какие-нибудь объекты, находящиеся на других сайтах. Благодаря iframe умные технологии вроде AJAX умеют менять информацию в отдельной области, не заставляя пользователя перезагружать всю страницу ради небольших (в том числе интерактивных) изменений контента.

Пример

Приведём конкретный пример рационального использования inline-фреймов — новый способ встраивания видео с YouTube, весьма компактный и лаконичный:

<iframe width="420" height="315"
        src="http://www.youtube.com/embed/aHjpOzsQ9YI"
        frameborder="0" allowfullscreen></iframe>

Раньше нужно было копировать и вставлять очень громоздкий код Flash-плеера, а теперь, как видите, всё очень просто. Выделили область размером 420 на 315 пикселей — и пусть в ней будет окошко, позволяющее заглянуть непосредственно на сайт YouTube.

Однако, несмотря на простоту, всё же будем разбираться с тегом iframe подробно.

Атрибуты

У многих HTML-тегов бывают атрибуты, которым присваиваются какие-то значения. Часто без них, атрибутов, вообще никак не обойтись. В <iframe> можно через пробел вставить следующее:

  1. frameborder — определяет наличие или отсутствие границ (значения: 0 или 1);
  2. height — высота в пикселях;
  3. width — ширина в пикселях;
  4. name — собственное уникальное имя;
  5. src — источник, откуда будет загружаться другая веб-страница (её URL);
  6. align — выравнивание по отношению к остальному тексту страницы (значения: middle, top, left, right, bottom);
  7. scrolling — прокрутка, её наличие или отсутствие (значения: yes, no).

Получается примерно так:

<iframe src="http://xbb.uz/" width="600" height="400" align="middle" frameborder="0"> 
Здесь можно написать что-нибудь для тех, у кого браузер не поддерживает тег iframe.
Если поддерживает, то данный текст не отобразится.
</iframe>

Закрывающий тег </iframe> является обязательным. Поскольку атрибут scrolling отсутствует, то прокрутка должна присутствовать по умолчанию. Ну и, конечно, без атрибута src сама концепция iframe теряет смысл.

Безопасность

Теперь о неприятном. Что будет, если значения атрибутов width и height поставить ноль пикселей? Да, iframe не отобразится в браузере. Но ведь из HTML-кода страницы он никуда не денется. Следовательно, незаметно для пользователя может загрузиться что-либо с другого сервера. Например, вирус. И произойдёт атака методом Drive-by.

Отключаем iframe в браузере Opera

Кнопка меню слева вверху → «Настройки» → «Общие настройки» → вкладка «Расширенные» → раздел «Содержимое» → кнопка «Настроить стили» → снять галочку рядом с «Включить inline-фреймы».

Включить iframe для конкретного сайта можно так: правый клик на пустом месте любой страницы ресурса → «Настройки для сайта...» → всё то же «Содержимое» → вкладка «Вид». Там ставите галочку рядом с уже знакомым пунктом «Включить inline-фреймы».

Отключаем iframe в Mozilla Firefox и SeaMonkey

Если по какой-либо причине вы ещё не установили дополнение NoScript, то сделайте это. После установки и перезапуска браузера вы увидите, что рядом с адресной строкой появится значок в виде толстой белой буквы «S».

Жмём на вышеуказанный значок → «Настройки» → вкладка «Встроенные объекты» → ставим галочку рядом с «Запретить отображение элементов <iframe>».

Включаем для конкретного сайта так: снова жмём на значок и выбираем «Разрешить для...» NoScript можно отключать вообще (в том же интерфейсе, где его устанавливали).

Заключение

Некоторые сервисы, блог-платформы и бесплатные хостинги запрещают использование inline-фреймов. Не очень толковые рейтинги безопасности сайтов могут с подозрением отнестись к самому факту наличия тега <iframe> в коде веб-страницы. Правды некуда девать, такая паранойя оправдана. Однако если вы применяете inline-фрейм в безобидных целях, то опасаться вам нечего. Главное — следить, не появились ли в коде страниц вашего сайта посторонние inline-фреймы. То есть, не взломан ли ваш ресурс.

Автор: vanilinkin, специально для xBB.uz, 12.05.2012


Предыдущие публикации:

Биржа долевых инвестиций SIMEX.

Последнее редактирование: 2012-05-12 11:28:14

Метки материала: html, iframe, тег, html тег, тег iframe, html тег iframe, гипертекст, разработка веб-ресурса, www, создание сайтов, веб, разработка сайтов, информационные технологии, web, теги, ит, it, разработка сайта, всемирная паутина, язык разметки html, веб-ресурс

Оставьте, пожалуйста, свой комментарий к публикации

Представиться как     Антибот:
   

Просьба не постить мусор. Если вы хотите потестить xBB, воспользуйтесь кнопкой предварительного просмотра на панели инструментов xBBEditor-а.


© 2007-2017, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.