HTML iframe: пример и особенности применения. Iframe и Frame — что это такое и как лучше использовать фреймы в Html

Фреймы — это HTML-элементы, позволяющие разделить окно веб-браузера на несколько независимых окон, в каждое из которых можно загрузить отдельный HTML-документ. Каждое такое окно (фрейм) может иметь собственные полосы прокрутки и функционировать независимо от других независимых окон либо наоборот управлять их содержанием. Они могут применяться для организации постоянно находящегося в одном окне меню, в то время как в другом окне располагается непосредственно сама информация. Пользователи могут обращаться к меню в любой момент, и им не нужно возвращаться к предыдущей странице, чтобы выбрать другой пункт меню. Применение фреймов позволит вам «закрепить» в окне браузера изображения или другие неподвижные по замыслу элементы интерфейса, в то время как остальная часть страницы будет прокручиваться во фрейме.
Однако, стоит отметить, что в наши дни фреймы считаются устаревшим средством, а сайты с фреймами теперь считаются несолидными, так как профессиональные веб-мастера никогда не используют фреймы в своих проектах. С фреймами связан целый ряд печально известных проблем. Они, например, сбивают с толку поисковые машины, поскольку на страницах, которые содержат контент, нет ссылок на другие документы. Если вы хотите получать посетителей с поисковых систем, забудьте о фреймах. Понравившуюся страницу пользователю невозможно поместить в раздел закладки браузера, так как фреймы скрывают адрес страницы, на которой он находится, и всегда показывают только адрес веб-сайта. По этой причине они создают проблемы для браузеров при отслеживании хронологии и еще они не слишком приспособлены для разных размеров экранов и мобильных устройств.
Несмотря на то, что проекты с фреймами встречаются во всемирной паутине все реже, изучение HTML было бы неполным без рассмотрения темы о фреймах. У фреймов наряду с недостатками есть и некоторые достоинства, которые не позволяют отбросить эту технологию как бесперспективную.

Создание фреймов

Структура HTML-документа с фреймами внешне очень напоминает формат обычного HTML-документа. Как и в обычном HTML-документе, весь код помещен между парными тегами и , а в контейнере располагаются заголовки. Основное отличие документа с фреймами от обычного HTML-документа — у документа с фреймами вместо тега применяется парный тег (от англ. frame set – набор фреймов).
В следующем примере приведена структура HTML-документа с фреймами:

Пример: Структура HTML-документа с фреймами

  • Попробуй сам »
frame_top
frame_left frame_right



Документ с фреймами

В приведенном примере страница содержит три области, в каждую из которых первоначально загружаются HTML-документы frame_top.html, frame_left.html и frame_right.html. Помимо HTML-документов, фрейм может содержать и графику. Для этого необходимо указать адрес соответствующего изображения в атрибуте src , например src="image.gif" . Обратите внимание, что элемент используется без закрывающего тега.
Внутри контейнера могут содержаться только теги или другой набор фреймов, охваченный тегами и .
Тег имеет следующие атрибуты:

  • rows — описывает разбиение страницы на строки:
  • cols — описывает разбиение страницы на столбцы:
Области, полученные в результате такого разбиения страницы, и будут являться фреймами. Отсутствие этих атрибутов определяет один фрейм, который займет все окно браузера.

В значении атрибутов rows и cols необходимо указывать не количество строк или столбцов, а значение ширины и высоты фреймов. Все значения в списке разделяются запятыми. Размеры могут быть указаны в абсолютных единицах (в пикселах) или в процентах:

  • cols="20%, 80%" — окно браузера разбивается на две колонки с помощью атрибута cols , левая колонка занимает 20%, а правая 80% окна браузера.
  • rows="100, *" окно браузера разбивается на два горизонтальных окна с помощью атрибута rows , верхнее окно занимает 100 пикселов, а нижнее — оставшееся пространство, заданное символом звездочки.

Как видно из данного примера, контейнер с атрибутом rows вначале создает два горизонтальных фрейма, а вместо второго фрейма подставляется еще один , который разбивает нижний горизонтальный фрейм на две колонки с помощью атрибута cols , левая колонка занимает занимает 20%, а правая 80% окна браузера.
Если браузер не поддерживает фреймы, то в окне будет отображен текст, расположенный между тегами </b> и <b> . Все, что находится между тегами </b> и <b> , игнорируется браузерами, поддерживающими фреймы. Таким образом разработчику нужно написать код, дублирующий содержимое фреймов другими средствами, и поместить этот код в контейнер </b> , тогда все пользователи смогут увидеть его веб-страницу.<br> Как уже отмечалось, для вставки в документ отдельного фрейма служит непарный тег <b><frame> </b> . Атрибут <b>src </b> задает документ, который должен отображаться внутри данного фрейма, например: <frame src="frame_top.html">. Если атрибут <b>src </b> отсутствует, отображается пустой фрейм.</p> <h2>Границы или пространство между фреймами</h2> <p>По умолчанию, браузер отображает серую и, как правило, в виде трехмерной линии границу между фреймами, с помощью которой посетители могут регулировать размер фрейма.<br> Границей фрейма можно управлять, как и любыми другими элементами фрейма. Для этого существует несколько атрибутов элемента <b><frameset> </b> , позволяющих настраивать границы фреймов. Толщина линии границы определяется атрибутом <b>border </b>. По умолчанию значение толщины границы равно пяти.<br> Чтобы скрыть границу фрейма, необходимо либо указать значение ширины границы равным нулю, либо присвоить значение «no» или «0» атрибуту <b>frameborder </b>. Атрибут <b>frameborder </b> может принимать только два противоположных значения. Если значение атрибута <b>frameborder </b> равно «yes» или «1», то граница фреймов будет отображаться, а если «0» или «no», то нет. Учтите, что значения атрибута <b>frameborder </b> различаются для <a href="/kak-sdelat-yandeks-startovoi-stranicei-v-brauzere-kak-yandeks-sdelat/">разных браузеров</a>. Чтобы решить эту проблему используйте дважды атрибут <b>frameborder </b>, а для некоторых браузеров требуется еще добавить атрибут <b>framespacing </b> со значением «0»:</p><p> <frameset frameborder="0" framespacing="0" frameborder="no" border="0"> </p><p>В следующем примере убираем границу между фреймами:</p> <h3>Пример: Убираем границу между фреймами</h3> <ul><li>Попробуй сам »</li> </ul><table><tr><td style="width: 10px;background-color:green;color: white;"> frame_left </td> <td style="width: 90%;background-color:lime;color: white;"> frame_right </td> </tr></table><p> <!DOCTYPE html> <html><br><head><br><meta charset="UTF-8"> <title>Фреймы без границ</title> </head> <frameset cols="100,*" frameborder="0" framespacing="0" frameborder="no" border="0"> <frame src="frame_left.html" name=" frame_left" > <frame src="frame_right.html" name="frame_right" > </frameset> </html></p> <p>Если вы удалите границу между фреймами, посетители не смогут изменять размер фрейма в браузере. Вы можете также не допустить изменения размера фрейма, сохранив границы, используя атрибут <b>noresize </b>:</p><p> <frame src="frame_left.html" noresize> </p><p>С помощью атрибута <b>bordercolor </b> можно изменить цвет границы фрейма, необходимо только указать код или соответствующее зарезервированное имя цвета.<br> Ниже приведен пример html-страницы, которая содержит описанные выше атрибуты управления границей фрейма: цвет границы — красный, изменять размер верхнего фрейма нельзя:</p> <h3>Пример: Управление границей фреймов</h3> <ul><li>Попробуй сам »</li> </ul><table style="border-collapse:collapse;"><tr><td style="border-bottom: 4px solid red;background-color:blue;color: white;" colspan="2">frame_top</td> </tr><tr><td style="border-right: 4px solid red;width: 20%;background-color:green;color: white;">frame_left</td> <td style="width: 80%;background-color:lime;color: white;">frame_right</td> </tr></table><p> <!DOCTYPE html> <html><br><head><br><meta charset="UTF-8"> <title>Управление границей фреймов</title> </head> <frameset rows="150, *" border="10" bordercolor="red" frameborder="1" frameborder="yes"> <frame src="frame_top.html" noresize> <frameset cols="20%, 80%"> <frame src="frame_left.html"> <frame src="frame_right.html"> </frameset> </frameset> </html></p> <p>Если вы хотите расположить страницу, отображаемую внутри фрейма, ближе к его границам, или, наоборот, отодвинуть дальше, измените атрибуты <b>marginheight </b> и <b>marginwidth </b> тэга <b><frame> </b> . Атрибут <b>marginheight </b> определяет отступ между содержимым фрейма и его верхней и нижней границами. Синтаксис:</p><p> <frame marginheight="число"> </p><p>Атрибут <b>marginwidth </b> определяет отступ между содержимым фрейма и его правой и левой границами. Синтаксис:</p><p> <frame marginwidth="число"> </p><p>Данная <a href="/kak-sdelat-begushchuyu-stroku-css-kak-sdelat-begushchuyu-stroku-v-html/">строка html</a>, например, располагает отображаемую страницу вплотную к границе фрейма:</p> <p>Если страница отображает нежелательную для вас полосу прокрутки, вы можете решить эту проблему, указав атрибут <b>scrolling </b>="no" в тэге <b><frame> </b> . Но учтите, что если фрейм будет недостаточно большим, чтобы отобразить все содержимое страницы, то у посетителя не будет никакой возможности прокрутить отображаемую страницу.</p> <h2>Ссылки внутри фреймов</h2> <p>Переход по ссылке в обычном HTML-документе осуществляется <a href="/proizvedenie-matric-vychislyaetsya-sleduyushchim-obrazom-deistviya-s-matricami/">следующим образом</a>: нажимаете ссылку и текущий документ заменяется новым в текущем либо в новом окне браузера. При использовании фреймов схема загрузки html-документов отличается от обычной и главное отличие — это возможность загружать html-документ в один фрейм из другого фрейма.<br> Для загрузки документа в определенный фрейм используется атрибут <b>target </b> тега <b><a> </b> . В качестве значения атрибута <b>target </b> используется имя фрейма, в который будет загружаться документ, указанный атрибутом <b>name </b> тега <b><frame> </b> . Стоит также отметить, что имя фрейма должно начинаться либо с цифры либо с латинской буквы. Следующие имена используются в качестве зарезервированных:</p> <p>Для внешних ссылок следует задавать в качестве значения для атрибута target либо _top , либо _blank , для того, чтобы сторонние проекты отображались не в ваших фреймах, а занимали полное окно браузера.</p> <p>В следующем примере изображен HTML-документ, в правый фрейм которого загружается страница по ссылке, помещенной в верхний фрейм. Ссылка на документ, который откроется в правом фрейме:</p><p> <a href="http://www.google.com" target="frame_right">Google</a> </p><p>Правому фрейму присваивается имя <i>frame_right </i>:</p><p> <frame src="frame_right.html" name="frame_right"> </p><p>Чтобы документ загружался в указанный фрейм, используется конструкция <i>target="frame_right" </i>, как показано в примере:</p> <h3>Пример: Ссылка на другой фрейм</h3> <ul><li>Попробуй сам »</li> </ul><p> <!DOCTYPE html> <html><br><head><br><meta charset="UTF-8"> <title>Ссылка на другой фрейм</title> </head> <frameset rows="100, *"> <frame src="frame_topic.html"> <frameset cols="20%, 80%"> <frame src="frame_left.html"> <frame src="frame_right.html" name="frame_right"> </frameset> <noframes> <p>Ваш браузер не отображает фреймы</p>

Плавающие фреймы

Элемент

Тег .

Синтаксис

Закрывающий тег обязателен.

WAI ARIA

Нет значения role по-умолчанию.

Допустимые значения role:

  • application
  • document

Атрибуты

  • allowfullscreen - Разрешает для фрейма полноэкранный режим.
  • height - Высота фрейма.
  • name - Имя фрейма.
  • sandbox - Позволяет задать ряд ограничений на контент загружаемый во фрейме.
  • scrolling - Способ отображения полосы прокрутки во фрейме.
  • seamless - Определяет, что содержимое фрейма должно отображаться так, словно оно является частью документа.
  • src - Путь к файлу, содержимое которого будет загружаться во фрейм.
  • srcdoc - Хранит содержимое фрейма непосредственно в атрибуте.
  • width - Ширина фрейма.

allowfullscreen

Атрибут allowfullscreen разрешает для фрейма полноэкранный режим.

Синтаксис

Значения

Значение по умолчанию

height

Значения

Значение по умолчанию

name

В обычном HTML-документе при переходе по ссылке в окне браузера текущий документ заменяется новым. Чтобы направить содержимое во фрейм, он должен иметь уникальное имя, задаваемое атрибутом name . В этом случае при создании ссылки у требуется указать атрибут target , в качестве значения которого выступает имя фрейма.

Синтаксис

Значения

Для указания имени используется набор символов, включая числа и буквы. При обращении к фрейму по имени соблюдайте то же написание, что и в атрибуте name .

Значение по умолчанию

sandbox

Атрибут sandbox позволяет установить ряд ограничений на контент, загружаемый во фрейме, к примеру, блокировать формы и скрипты. Это позволяет повысить безопасность текущего документа, особенно в том случае, когда во фрейм загружается документ из непроверенного источника.

Синтаксис

Значения

  • allow-forms - Позволяет содержимому фрейма отправлять формы.
  • allow-modals - Разрешает открытие модальных окон, вроде тех, которые делаются с помощью функции alert в JavaScript.
  • allow-orientation-lock - Позволяет отключать возможность блокировки экрана.
  • allow-pointer-lock - Позволяет фрейму использовать Pointer Lock API.
  • allow-popups - Разрешает всплывающие окна (такие как window.open , target="_blank" , showModalDialog).
  • allow-presentation - Разрешает фрейму использовать Presentation API.
  • allow-same-origin - Разрешает загружать содержание фрейма, воспринимая его из того же источника, что и родительский документ. Может использоваться для безопасного открытия контента, блокируя при этом всплывающие окна.
  • allow-scripts - Разрешает запуск и выполнение скриптов. Создание всплывающих окон при этом запрещено.
  • allow-top-navigation - Позволяет открывать ссылки фрейма в родительском документе.

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

При одновременном использовании значений allow-scripts и allow-same-origin , когда исходный и загружаемый документ одного происхождения, атрибут sandbox игнорируется.

Значение по умолчанию

scrolling

Если содержимое фрейма не помещается в отведённые размеры, автоматически появляются полосы прокрутки для просмотра информации. В некоторых случаях, полосы прокрутки нарушают дизайн веб-страницы, поэтому от них можно отказаться. Для управления отображением полос прокрутки используется атрибут scrolling .

Синтаксис

Значения

  • auto - Полосы прокрутки добавляются браузером только по необходимости, в том случае, когда содержимое фрейма превышает его видимую часть.
  • no - Запрещает отображение полос прокрутки.
  • yes - Всегда вызывает появление полос прокрутки, независимо от объёма информации.

Значение по умолчанию

seamless

Устанавливает, что содержимое фрейма должно отображаться так, словно оно является частью документа. При этом соблюдается ряд условий:

  • игнорируется атрибут sandbox , если содержимое фрейма и родительского документа взяты из одного источника;
  • ссылки во фрейме открываются не внутри фрейма, а в текущем документе;
  • стили родительского документа применяются и к содержимому фрейма;
  • фрейм считается блочным элементом, у которого ширина задана как auto ;
  • высота формируется автоматически на основе содержимого.

Синтаксис

Значения

Значение по умолчанию

По умолчанию этот атрибут выключен.

src

Указывает адрес файла, который будет загружаться во фрейм. Это может быть HTML-документ, изображение или серверная программа. Допустимо использовать не только путь к файлу, но также имя функции JavaScript, которое возвращает значение.

Синтаксис

Значения

В качестве значения принимается полный или относительный путь к файлу.

Значение по умолчанию

srcdoc

Позволяет установить содержимое фрейма непосредственно в атрибуте. Значение должно иметь корректный синтаксис HTML, по желанию содержать и , а также любое количество пробелов, переносов строк, комментариев и других элементов. При одновременном использовании атрибутов src и srcdoc , атрибут src игнорируется.

Синтаксис

Значения

HTML-код содержимого, включая необходимые теги.

Значение по умолчанию

width

Для изменения размеров фрейма средствами HTML предусмотрены атрибуты width и height . Допускается использовать значения в пикселях или процентах. Если установлена процентная запись, то размеры фрейма вычисляются относительно родительского элемента - контейнера, где находится элемент

Значения

Любое целое положительное число в пикселях или процентах.

Значение по умолчанию

width - 300 пикселей, height - 150 пикселей.

Спецификации

Примеры

IFRAME

Долго думал, как назвать статью, лучше не придумал. Но сейчас вы сразу поймете в чем суть. У вас есть сайт, вы пишите на нем статьи и это здорово. Но чего-то не хватает? Человек пришел, почитал, и ушел, возможно, навсегда. А вам так хочется, чтобы он не раз вернулся на ваш сайт. А куда люди возвращаются чаще всего? Правильно, на сервисы!

Но сделать на своем сайте даже небольшой сервис, типа или сокращателя ссылок могут не все, нужен некоторый опыт. Но что мешает нам показывать чужой сервис на своем сайте? Практически ничего! Как это сделать? Вот тут и уместно название статьи: как вставить сайт на сайт?

Для профи я не сделаю открытия, в для новичков это будет, скорее всего, полезно. Хотя, если честно, я ни разу не видел такого подхода ни на одном блоге. А зря, все эти фишки часто дают хороший результат. Хороший пример - это мой способ получения обратных ссылок, . Результат - 38512 ссылок, и все естественные 😉

В этом же случае все решается банальным iframe. Сразу перейду к практике: я порой пользуюсь сервисом сжатия png картинок. Есть замечательные онлайн сервисы, ими можно пользоваться без проблем. Но тут есть минус: нужно постоянно держать в уме или в закладках все эти сервисы, вы покидаете свой сайт и пользуетесь чужим. А так, если вставить сайт в сайте iframe, то вы будете пользоваться сервисом (да и не только вы) не покидая своего сайта!

Я уже сегодня сделал на отдельной странице себе такой псевдосервис - (естественно, в заглавии хороший НЧ запрос, и в поясняющем тексте тоже)

Как сделать iframe адаптивным?

Вот какой метод можно использовать в этом случае:

.video { height: 0; position: relative; padding-bottom: 56.25%; } .video iframe { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }

СОВЕТ ВЕБМАСТЕРУ: Умение зарабатывать в интернете - это только пол дела, вторая половина - это умение ВЫГОДНО обналичивать электронные деньги. Вот список офшорных банковских карт, на которые можно выводить средства и потом снимать с них хрустящие купюры:

1. Payoneer - Самая популярная в мире платежная система для фрилансеров. Выдает карты, находится в США.

2. EpayService - Американская платежная система, очень популярна во многих странах, бесплатно дает карту MasterCard в EVRO для жителей СНГ и Европы.

3. Skrill - Единственная платежная система которая работает с криптовалютами и при этом выпускает бесплатные банковские карты MasterCard.

4. AdvCash - Офшорный банк находится в Белизе, можно открыть счет в долларах, евро, фунтах и рублях.

5. Payeer - Штаб квартира этой платежной системы находится в Грузии, тут так же можно открыть счет в долларах, евро и рублях.


Домен RU - 99 руб
Домен РФ - 99 руб

Всем привет! Я уже анонсировал несколько iFrame-партнерок, но что значит само понятие iFrame или тег iFrame , для многих осталось загадкой. В данной статье я постараюсь разъяснить, что это значит, для чего это нужно и как можно заработать с iFrame .

Понятие iFrame можно определить следующим образом: на одном сайте одновременно подгружается еще один или несколько сайтов во фрейме или, как часто говорят, в фоне, поэтому понятие iFrame-трафик часто упоминают как фоновый трафик .

Обычно сайты, подгружаемые во фрейме, не видны пользователю, так как ширина и высота фрейма зачастую равна нулю. Иногда фрейм специально могут сделать видимым, задав ему размеры, например, стандартного прямоугольного баннера. Данный код будет выглядеть следующим образом:

Если вы скопируете данный код и вставите к себе на сайт, то мой блог будет подгружаться на вашем сайте во фрейме размером стандартного баннера, где width — ширина фрейма, равная 468 пикселям, а height — высота фрейма, равная 60 пикселям. В биржах купли-продажи трафика высота и ширина фрейма обычно равна нулю. Тег iframe так же можно дополнить другими переменными, но в данной статье я их рассматривать не буду, так как вышезаданного примера будет достаточно, чтоб определить и понять, что означает тег iframe и как он работает.

Что такое iframe-партнерка?

Iframe-партнерка — это биржа купли-продажи фонового трафика. После несложной регистрации на сайте партнерской программы покупки и продажи iframe-трафика Вам доступен iframe-код, который Вы можете вставить на свой сайт и начать зарабатывать: обычно оплачивается посещение Вашего сайта уникальным посетителем в течении 24 часов по бирже купли-продажи трафика — хосты. Некоторые биржи платят за хиты. Обычно хит оплачивается по цене, заниженной в два раза от стоимости хоста.

Зачем нужен iframe-трафик?

С помощью iframe-трафика зачастую накручивают посещаемость сайта, и, соответственно, показатели счетчиков будут высокими, но, чтоб системы статистики не заподозрили вас в накрутке и поисковые системы не наложили на ваш сайт фильтры, данный вид трафика нужно использовать аккуратно — в размере не более 5% от общего количества трафика, если у вас . Так же стоит знать, что в партнерские программы покупки и продажи фонового трафика могут добавлять сайты, на которых присутствует вредоносный код или редирект. Зачастую администрация данных бирж модерирует сайты, но вредоносный код владельцы этих сайтов могут добавить впоследствии — это один из самых доступных и недорогих способов массово распространять вирусы. Администрация некоторых бирж не принимает рекламодателей и покупает трафик только на проверенные ресурсы: в пример можно привести биржу купли-продажи фонового трафика goldentraff. Так же на некоторых биржах, таких, например, как Safeframe или Web-rom, стоит система контроля трафика на наличие вирусов. Ссылки на статьи об этих биржах трафика можно найти в конце этой статьи.

Как заработать с помощью iframe-трафика?

Заработок на биржах купли-продажи трафика часто определяют как деньги из воздуха . Почему так? Все достаточно просто! Вы создали сайт (зачастую — ), добавили на него код от одной или нескольких бирж и гоните на него трафик. Трафик можно брать из систем серфинга, автосерфинга и систем обмена визитами — это самый доступный и дешевый источник трафика. Так же можно использовать другие источники трафика: баннерная реклама, тизверная реклама, контекстная реклама и т.п. Еще популярным источником трафика для iframe-партнерок является трафик из систем активной рекламы (САР). Еще раз напомню: коды с бирж купли-продажи iframe-трафика можно ставить вместе на один сайт. Таким образом вы увеличите конверт и, соответственно, заработаете больше, чем потратите на покупку трафика.

Элемент

Frames

Что же делает

Основное различие между