16 Фрейми

16.1 Введення в фрейми

Фрейми в HTML дозволяють авторам подавати документи в декількох розділах, які можуть бути незалежними або вкладеними вікнами. Це забезпечує дизайнерам спосіб залишати деяку інформацію видимої, в той час як інша інформація прокручується або замінюється. Наприклад, в одному вікні в одному фреймі може відображатися статичний банер, у другому навігаційне меню, а в третьому - сам документ, який можна прокручувати або переходити до іншого за допомогою навігації в другому фреймі.

Ось простий документ з використанням фреймів:

 <! DOCTYPE HTML PUBLIC "- // W3C // DTD HTML 4.0 Frameset // EN"
  "_THE_LATEST_VERSION_ / Frameset.dtd">
 <HTML>
 <HEAD>
 <TITLE> Простий документ з фреймами </ TITLE>
 </ HEAD>
 <FRAMESET cols = "20%, 80%">
  <FRAMESET rows = "100, 200">
  <FRAME src = "contents_of_frame1.shtml">
  <FRAME src = "contents_of_frame2.gif">
  </ FRAMESET>
  <FRAME src = "contents_of_frame3.shtml">
  <NOFRAMES>
  <P> У цьому документі міститься:
  <UL>
  <LI> <A href="contents_of_frame1.shtml"> Миленький текстик </A>
  <LI> <IMG src = "contents_of_frame2.gif" alt = "Симпатична картинка">
  <LI> <A href="contents_of_frame3.shtml"> Ще славний текстик </A>
  </ UL>
  </ NOFRAMES>
 </ FRAMESET>
 </ HTML>

це може привести приблизно до наступної структурі екрану:

  ---------------------------------------
 |  |  |
 |  |  |
 |  Фрейм 1 |  |
 |  |  |
 |  |  |
 | --------- |  |
 |  |  Фрейм 3 |
 |  |  |
 |  |  |
 |  |  |
 |  Фрейм 2 |  |
 |  |  |
 |  |  |
 |  |  |
 |  |  |
  ---------------------------------------

Якщо агент користувача не може представляти фрейми або налаштований так, щоб не робити цього, він повинен генерувати вміст елемента NOFRAMES .

16.2 Розташування фреймів

Документ HTML, в якому описується компоновка фреймів (званий документом з фреймами ), виглядає не так, як документ HTML без фреймів. Атндартний документ має один розділ HEAD і один розділ BODY . Документ з фреймами має розділ HEAD і розділ FRAMESET , який замінює розділ BODY .

У розділі FRAMESET задається розташування фреймів в основному вікні агента користувача. Крім того, в розділі FRAMESET може бути присутнім елемент NOFRAMES з альтернативним вмістом для агентів користувачів, які не підтримують фрейми або сконфигурированних так, щоб їх не показувати.

Елементи, зазвичай поміщаються в розділ BODY , не повинні бути присутніми до першого елемента FRAMESET , інакше елемент FRAMESET буде ігноруватися.

16.2.1 Елемент FRAMESET

  <! [ % HTML.Frameset;
  [
 <!  ELEMENT FRAMESET - - ((FRAMESET | FRAME) + & NOFRAMES?) - Підрозділ вікон ->
 <! ATTLIST FRAMESET
  % coreattrs;
  - Id , class , style , title -
  rows % MultiLengths;
  #IMPLIED - Список довжин,
  за замовчуванням: 100% (1 рядок) -
  cols % MultiLengths;
  #IMPLIED - Список довжин,
  за замовчуванням: 100% (1 стовпець) -
  onload % Script;
  #IMPLIED - Всі фрейми завантажені - 
  onunload % Script;
  #IMPLIED - Всі фрейми видалені - 
  >
 ]]>

визначення атрибутів

rows = multi-length-list [CN]
Цей атрибут визначає розташування горизонтальних фреймів. Це розділений комами список пікселів, відсотків і відносних довжин. За замовчуванням використовується 100%, що означать один рядок.
cols = = multi-length-list [CN]
Цей атрибут визначає розташування вертикальних фреймів. Це розділений комами список пікселів, відсотків і відносних довжин. За замовчуванням використовується 100%, що означать один стовпець.

Елемент FRAMESET визначає макет основного вікна користувача у вигляді прямокутних просторів.

Рядки і стовпці  

Установка атрибута rows визначає число горизонтальних відрізків простору в наборі фреймів. Устанвока атрибута cols визначає число вертикальних відрізків. Для створення сітки можна встановити обидва атрибута одночасно.

Якщо атрибут rows не встановлено, кожен стовпець займає всю довжину сторінки. Якщо атрибут cols не встановлено, кожен рядок займає всю ширину сторінки. Якщо не встановлено жодного з етітх атрибутів, фрейм займає всю сторінку.

Фрейми створюються в напрямку зліва направо для стовпців і зверху вниз для рядків. Якщо вказані обидва атрибути, розділи вікон створюються зліва направо у верхньому рядку, зліва направо у другому рядку і т.д.

У першому прикладі екран поділяється горизонтально на дві частини (тобто створюються верхня і нижня частини).

  <FRAMESET rows = "50%, 50%">
 ... продовження визначення ...

 </ FRAMESET>

У наступному прикладі створюється три стовпці: другий має фіксовану ширину 250 пікселів (це корисно, наприклад, для представлення зображення відомої ширини). Перший кадр отримує 25% решти простору, а третій - 75%.

  <FRAMESET cols = "1 *, 250,3 *">
 ... продовження визначення ...

 </ FRAMESET>

У наступному прикладі створюється сітка 2x3.

  <FRAMESET rows = "30%, 70%" cols = "33%, 34%, 33%">
 ... продовження визначення ...

 </ FRAMESET>

Для наступного прикладу припустимо, що вікно браузера має висоту строго 1000 пікселів. Перший розділ отримує 30% загальної висоти (300 пікселів). Другий має висоту рівно 400 пікселів. Залишається 300 пікселів на два інші фрейми. Для четвертого фрейма задана висота "2 *", так що він повинен бути вдвічі вище третього, для якого задані висота "*" (еквівалентно 1 *). Таким Оразов, третій фрейм буде мати висоту 100 пікселів, а четвертий - 200.

  <FRAMESET rows = "30%, 400, *, 2 *">
 ... продовження визначення ... </ FRAMESET>

Абсолютні довжини, якщо вони не дають в сумі 100% реально доступного простору, повинні коректуватися агентом користувача. Якщо вказана довжина менше фактичної, що залишився простір повинен рівномірно розподілятися між усіма розділами. Якщо вказана довжина, що перевищує фактичну, кожен розділ повинен зменшуватися в залежності від того, яку частину простору він займає.

Вкладені набори фреймів  

Число рівнів вкладеності фреймів не обмежена.

У наступному прикладі зовнішній елемент FRAMESET розділяє обсяг пам'яті, доступний на три рівних стовпці. Внутрішній елемент FRAMESET розділяє другу область на два рядки нерівної висоти.

  <FRAMESET cols = "33%, 33%, 34%">
  ... вміст першого фрейм ... <FRAMESET rows = "40%, 50%">
  ... вміст другого фрейма, перший рядок ... ... вміст другого фрейма, другий рядок ... </ FRAMESET>
  ... вміст третього фрейм ...

 </ FRAMESET>

Поділ даних між фреймами  

Автори можуть розділяти дані між кількома фреймами, включаючи ці дані за допомогою елемента OBJECT . Елемент OBJECT слід включати в елемент HEAD документа з фреймами і давати йому ім'я за допомогою атрибута id . Будь-який документ, який є вмістом фрейма, може посилатися на цей ідентифікатор.

У наступному прикладі показано звернення скрипта до елементу OBJECT , визначеному для всього набору фреймів:

  <! DOCTYPE HTML PUBLIC "- // W3C // DTD HTML 4.0 Frameset // EN"
  "_THE_LATEST_VERSION_ / Frameset.dtd">
 <HTML>
 <HEAD>
 <TITLE> Це набір фреймів з елементом OBJECT в розділі HEAD </ TITLE>
 <! - Цей елемент OBJECT неможливо!  ->
 <OBJECT id = "myobject" data = "data.bar"> </ OBJECT>
 </ HEAD>
 <FRAMESET>
  <FRAME src = "bianca.shtml" name = "bianca">
 </ FRAMESET>
 </ HTML>
 <! - In bianca.shtml ->
 <HTML>
 <HEAD>
 <TITLE> Сторінка Бьянкі </ TITLE>
 </ HEAD>
 <BODY>
 ... початок документа ... <P>
 <SCRIPT type = "text / javascript">
 parent.myobject.myproperty
 </ SCRIPT>
 ... продовження документа ... </ BODY>
 </ HTML>

16.2.2 Елемент FRAME

  <! [ % HTML.Frameset;
  [
 <! - Зарезервовані імена фреймів починаються з символу "_", інші - з букви ->
 <!  ELEMENT FRAME - O EMPTY - вкладене вікно ->
 <! ATTLIST FRAME
  % coreattrs;
  - Id , class , style , title -
  longdesc % URI;
  #IMPLIED - Посилання на довгий опис
  (Доповнює заголовок) -
  name CDATA #IMPLIED - ім'я цільового фрейма -
  src % URI;
  #IMPLIED - Вихідний документ для фрейма -
  frameborder (1 | 0) 1 - потрібні кордону фрейму?  -
  marginwidth % Pixels;
  #IMPLIED - Ширина полів в пікселах -
  marginheight % Pixels;
  #IMPLIED - Висота полів в пікселах -
  noresize (noresize) #IMPLIED - дозволити користувачам змінювати розмір фреймів?  -
  scrolling (yes | no | auto) auto - наявність смуги прокрутки -
  >
 ]]>

визначення атрибутів

name = cdata [CI]
Призначає ім'я поточному кадру. Це ім'я може використовуватися в якості мети в наступних посиланнях.
longdesc = uri [CT]
Посилання на довгий опис фрейма. Це оголошення повинне доповнювати короткий опис, що задається атрибутом title , і може бути особливо корисно для невізуальних агентів користувачів.
src = uri [CT]
Визначає місцезнаходження початкового вмісту фрейма.
noresize [CI]
Якщо цей атрибут присутній, він повідомляє агенту користувача, що розміри фрейма змінювати не можна.
scrolling = auto | yes | no [CI]
Цей атрибут задає інформацію про прокрутку фрейма. Можливі значення
  • auto: При необхідності надавати можливості прокрутки. Це значення використовується за умовчанням.
  • yes: Завжди надавати можливості прокрутки.
  • no: Чи не надавати можливості прокрутки.
frameborder = 1 | 0 [CN]
Цей атрибут надає агенту користувача інформацію про кордон фрейма. Можливі значення:
  • 1: Агент користувача повинен зобразити роздільник між цим фреймам і всіма прилеглими фреймами. Це значення використовується за умовчанням.
  • 0: Агент користувача не повинен відображати роздільник. Зверніть увагу, що роздільники можуть все одно відображатися, якщо вони задані в інших фреймах.
marginwidth = пікселі [CN]
Цей атрибут задає простір, що залишається у фреймі як лівого і правого полів. Значення має перевищувати один піксель. Значення за замовчуванням залежить від агента користувача.
marginheight = пікселі [CN]
Цей атрибут визначає верхнє і нижнє поля в фреймі. Значення має перевищувати один піксель. Значення за замовчуванням залежить від агента користувача.

Елемент FRAME визначає вміст і вигляд одного фрейма.

Завдання справжнього вмісту фрейма  

Атрибут src визначає вихідний документ, що міститься в фреймі.

У наступному прикладі документа HTML:

 <! DOCTYPE HTML PUBLIC "- // W3C // DTD HTML 4.0 Frameset // EN"
  "_THE_LATEST_VERSION_ / Frameset.dtd">
 <HTML>
 <HEAD>
 <TITLE> Документ з фреймами </ TITLE>
 </ HEAD>
 <FRAMESET cols = "33%, 33%, 33%">
  <FRAMESET rows = "*, 200">
  <FRAME src = "contents_of_frame1.shtml">
  <FRAME src = "contents_of_frame2.gif">
  </ FRAMESET>
  <FRAME src = "contents_of_frame3.shtml">
  <FRAME src = "contents_of_frame4.shtml">
 </ FRAMESET>
 </ HTML>

повинна створюватися приблизно наступна сторінка:

  ------------------------------------------
 | Фрейм 1 | Фрейм 3 | Фрейм 4 |
 |  |  |  |
 |  |  |  |
 |  |  |  |
 |  |  |  |
 |  |  |  |
 |  |  |  |
 |  |  |  |
 ------------- |  |  |
 | Фрейм 2 |  |  |
 |  |  |  |
 |  |  |  |
  ------------------------------------------

а агент користувача повинен завантажувати кожен файл в окремий розділ.

Вміст фрейму і його визначення не повинні знаходитися в одному документі.

ПРИКЛАД неприпустимість використання:
Наступне визначення фреймів не є допустимим в HTML, оскільки вміст другого фрейму знаходиться в документі, що описує набір фреймів.

  <! DOCTYPE HTML PUBLIC "- // W3C // DTD HTML 4.0 Frameset // EN"
  "_THE_LATEST_VERSION_ / Frameset.dtd">
 <HTML>
 <HEAD>
 <TITLE> Документ з фреймами </ TITLE>
 </ HEAD>
 <FRAMESET cols = "50%, 50%">
  <FRAME src = "contents_of_frame1.shtml">
  <FRAME src = "# anchor_in_same_document">
  <NOFRAMES>
  ... деякий текст ... <H2> <A name="anchor_in_same_document"> Important section </A> </ H2>
  ... деякий текст ...

  </ NOFRAMES>
 </ FRAMESET>
 </ HTML>

Візуальне уявлення фрейму  

У наступному прикладі показано використання декоративних атрибутів FRAME . Фрейм 1 не повинен містити смуг прокрутки. У фреймі 2 навколо вмісту (зображення) залишиться порожній простір, і розмір фрейму не можна буде змінювати. Між фреймами 3 і 4 НЕ буде кордону. Межі (за замовчуванням) будуть присутні між фреймами 1, 2 і 3.

 <! DOCTYPE HTML PUBLIC "- // W3C // DTD HTML 4.0 Frameset // EN"
  "_THE_LATEST_VERSION_ / Frameset.dtd">
 <HTML>
 <HEAD>
 <TITLE> Документ з фреймами </ TITLE>
 </ HEAD>
 <FRAMESET cols = "33%, 33%, 33%">
  <FRAMESET rows = "*, 200">
  <FRAME src = "contents_of_frame1.shtml" scrolling = "no">
  <FRAME src = "contents_of_frame2.gif" 
  marginwidth = "10" marginheight = "15"
  noresize>
  </ FRAMESET>
  <FRAME src = "contents_of_frame3.shtml" frameborder = "0">
  <FRAME src = "contents_of_frame4.shtml" frameborder = "0">
 </ FRAMESET>
 </ HTML>

16.3 Визначення мети фрейма

Примітка. Про те, як зараз прийнято визначати мету фрейму, Ви можете дізнатися у зауваженнях про фрейми в додатку.

визначення атрибутів

target = frame-target [CI]
Задає ім'я фрейма, в якому повинен відкриватися документ.
Призначаючи кадру ім'я за допомогою атрибута name , автори можуть посилатися на нього як на "target" для посилань, який визначається іншими елементами. Атрибут target може встановлюватися для елементів, що створюють посилання ( A , LINK ), навігаційних карт ( AREA ) і форм ( FORM ).

Інформацію про рспознаваемих іменах фреймів Ви можете знайти в розділі про іменах цільових фреймів .

Цей приклад демонструє, як цілі забезпечують динамічна зміна вмісту фрейма. Спочатку визначимо набір фреймів в показаному тут документі frameset.shtml:

 <! DOCTYPE HTML PUBLIC "- // W3C // DTD HTML 4.0 Frameset // EN"
  "_THE_LATEST_VERSION_ / Frameset.dtd">
 <HTML>
 <HEAD>
 <TITLE> Документ з фреймами </ TITLE>
 </ HEAD>
 <FRAMESET rows = "50%, 50%">
  <FRAME name = "fixed" src = "init_fixed.shtml">
  <FRAME name = "dynamic" src = "init_dynamic.shtml">
 </ FRAMESET>
 </ HTML>

Потім у файлі init_dynamic.shtml ми будемо посилатися на фрейм з ім'ям "dynamic".

  <! DOCTYPE HTML PUBLIC "- // W3C // DTD HTML 4.0 Frameset // EN"
  "_THE_LATEST_VERSION_ / Frameset.dtd">
 <HTML>
 <HEAD>
 <TITLE> Документ з якорями з певними цілями </ TITLE>
 </ HEAD>
 <BODY>
 ... початок документа ... <P> Тепер можна перейти до 
  <A Href="slide2.shtml" target="dynamic"> слайду 2. </A>
 ... продовження документа ... <P> Все відмінно.  переходимо до 
  <A Href="slide3.shtml" target="dynamic"> слайду 3. </A>
 </ BODY>
 </ HTML>

Активізація будь-який з посилань призведе до відкриття нового документа в кадрі, де ім'ям "dynamic", в той час як в іншому фреймі, "fixed", зберігається початковий вміст.

16.3.1 Установка мети за замовчуванням для посилань

Якщо в багатьох посиланнях в документі використовується одна і та ж мета, можна вказати її один раз і використовувати скрізь за допомогою атрибута target кожного елемента. Це робиться за допомогою утсановкі атрибута target елементу BASE .

Повернемося до попереднього прикладу і визначимо інформацію про мету в елементі BASE і видалимо її з елементів A .

  <! DOCTYPE HTML PUBLIC "- // W3C // DTD HTML 4.0 Frameset // EN"
  "_THE_LATEST_VERSION_ / Frameset.dtd">
 <HTML>
 <HEAD>
 <TITLE> Документ з визначенням мети в елементі BASE </ TITLE>
 <BASE href = "http://www.mycom.com/Slides" target = "dynamic">
 </ HEAD>
 <BODY>
 ... початок документа ... <P> Тепер Ви можете перейти до <A href="slide2.shtml"> слайду 2. </A>
 ... продовження документа ...

 <P> Все відмінно.  переходимо до 
  <A Href="slide3.shtml"> слайду 3. </A>
 </ BODY>
 </ HTML>

16.3.2 Семантика цілей

Агенти користувачів повинні визначати цільової фрейм, в який повинен завантажуватися пов'язаний ресурс відповідно до таких пріоритетів (від вищого до нижчого):

  1. Якщо в елементі встановлений атрибут target і використовується відомий фрейм, при активізації елемента (тобто натисканні на посилання або обробці форми) призначається елементом ресурс повинен завантажуватися в зазначеному цільовому фреймі.
  2. Якщо для елемента не встановлено атрибут target , а в елементі BASE він встановлений, фрейм визначається атрибутом target елементу BASE .
  3. Якщо ні в самому елементі, ні в елементі BASE мета не вказана, призначений елементом ресурс повинен завантажуватися у фрейм, в якому міститься сам елемент.
  4. Якщо в атрибуті target вказано невідомий фрейм F, агент користувача повинен створити нове вікно і фрейм, призначити кадру ім'я F і завантажити який призначається елементом ресурс в новий фрейм.

Агенти користувачів можуть забезпечувати для користувачів механізм перевизначення атрибута target .

16.4 Альтернативне вміст

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

16.4.1 Елемент NOFRAMES

  <! [ % HTML.Frameset;
  [
 <! ENTITY% noframes.content "(BODY) - (NOFRAMES)">
 ]]>
 <! ENTITY% noframes.content "( % flow; ) *">
 <!  ELEMENT NOFRAMES - - % noframes.content;
  - Контейнер альтернативного вмісту для подання без фреймів ->
 <! ATTLIST NOFRAMES
  % attrs;
  - % Coreattrs , % i18n , % events -
  >

Елемент NOFRAMES задає вміст, яке повинне відображатися, тільки якщо не відображаються фрейми. Агенти користувачів, що підтримують фрейми, повинні відображати вміст оголошення NOFRAMES , тільки якщо вони сконфігуровані так, щоб не відображати фрейми. Агенти користувачів, які не підтримують фрейми, повинні відображати вміст елемента NOFRAMES в будь-якому випадку.

Елемент NOFRAMES можна використовувати в розділі FRAMESET документа з фреймами.

наприклад:

 <! DOCTYPE HTML PUBLIC "- // W3C // DTD HTML 4.0 Frameset // EN"
  "_THE_LATEST_VERSION _">
  <HTML>
  <HEAD>
  <TITLE> Документс фреймами і NOFRAMES </ TITLE>
  </ HEAD>
  <FRAMESET cols = "50%, 50%">
  <FRAME src = "main.shtml">
  <FRAME src = "table_of_contents.shtml">
  <NOFRAMES>
  <P> Це <A href="main-noframes.shtml">
  версія документа без фреймів. </A> 
  </ NOFRAMES>
  </ FRAMESET>
  </ HTML>

16.4.2 Довгі опису фреймів

Атрибут longdesc дозволяє авторам зробити документи з використанням фреймів більш доступними для людей, що використовують невізуальні агенти. У цьому атрибуті призначається ресурс, що надає довгий опис фрейма. Авторам варто звернути увагу, що довгі описи, пов'язані з фреймами, прикріплюються до кадру, а не до його вмісту. Оскільки вміст може змінюватися, вихідне довгий опис, швидше за все, перестане відповідати вмісту фрейма. Зокрема, не слід включати зображення як єдине вміст фрейма.

У наступному документі з фреймами описуються два фрейми. У лівому фреймі знаходиться зміст, а в правому спочатку - зображення устриці:

 <! DOCTYPE HTML PUBLIC "- // W3C // DTD HTML 4.0 Frameset // EN"
  "_THE_LATEST_VERSION _">
 <HTML>
 <HEAD>
 <TITLE> Погано складений документ з фреймами </ TITLE>
 </ HEAD>
 <FRAMESET cols = "20%, 80%">
  <FRAME src = "table_of_contents.shtml">
  <FRAME src = "ostrich.gif" longdesc = "ostrich-desc.shtml">
 </ FRAMESET>
 </ HTML>

Зверніть увагу, що зображення включено в фрейм незалежно від будь-якого елементу HTML, так що у автора немає іншої можливості вказати альтернативний текст, крім атрибута longdesc . Якщо вміст правого фрейма зміниться (наприклад, користувач вибере в змісті змію), у користувача не буде текстового доступ до нового вмісту фрейма.

Таким чином, автори не повинні вміщувати зображення безпосередньо в кадр. Замість цього зображення повинне включатися в окремий документ HTML і забезпечуватися там відповідним альтернативним текстом:

 <! DOCTYPE HTML PUBLIC "- // W3C // DTD HTML 4.0 Frameset // EN"
  "_THE_LATEST_VERSION _">
 <HTML>
 <HEAD>
 <TITLE> Добре складений документ з фреймами </ TITLE>
 </ HEAD>
 <FRAMESET cols = "20%, 80%">
  <FRAME src = "table_of_contents.shtml">
  <FRAME src = "ostrich-container.shtml">
 </ FRAMESET>
 </ HTML>
 <! - Файл ostrich-container.shtml: ->
 <HTML>
 <HEAD>
 <TITLE> Швидка і потужна устриця </ TITLE>
 </ HEAD>
 <P>
 <OBJECT data = "ostrich.gif" type = "image / gif">
 Ці устриці здорово смачні!
 </ OBJECT>
 </ HTML>

16.5 Вбудовані фрейми: елемент IFRAME

  <!  ELEMENT IFRAME - - ( % flow; ) * - вбудоване вікно другого рівня ->
 <! ATTLIST IFRAME
  % coreattrs;
  - Id , class , style , title -
  longdesc % URI;
  #IMPLIED - Посилання на довгий опис
  (Доповнює заголовок) -
  name CDATA #IMPLIED - ім'я цільового фрейма -
  src % URI;
  #IMPLIED - Вихідний документ для фрейма -
  frameborder (1 | 0) 1 - запросити кордону фрейму?  -
  marginwidth % Pixels;
  #IMPLIED - Ширина полів в пікселах -
  marginheight % Pixels;
  #IMPLIED - Висота полів в пікселах -
  scrolling (yes | no | auto) auto - наявність смуги прокрутки -
  align % IAlign;
  #IMPLIED - Вертикальне чи горизонтальне вирівнювання -
  height % Length;
  #IMPLIED - Висота фрейму -
  width % Length;
  #IMPLIED - Ширина фрейму -
  >

визначення атрибутів

longdesc = uri [CT]
Цей атрибут визначає посилання на довгий опис фрейма. Це опис має доповнювати короткий опис, що задається атрибутом title , і особливо корисно для невізуальних агентів користувачів.
name = cdata [CI]
Цей атрибут призначає ім'я поточного фрейма. Ім'я може використовуватися в якості мети в посиланнях.
width = довжина [CN]
Довжина вбудованого фрейма.
height = довжина [CN]
Висота вбудованого фрейма.
Елемент IFRAME дозволяє авторам вставляти фрейм в блок тексту. Вставка вбудованого фрейма в розділ тексту швидше схожа на вставку об'єкта за допомогою елемента OBJECT : обидва вони дозволяють Вам вставити один документ HTML в інший, обидва можуть вирівнюватися щодо навколишнього тексту і т.д.

Вбудована Інфомрация призначається атрибутом src цього елемента. Вміст елемента IFRAME , з іншого боку, має відображатися тільки агентами користувачів, які не підтримують фрейми або сконфігурованими так, щоб не підтримувати їх.

Для підтримують фрейми агентів користувачів в наступному прикладі в текст буде поміщений відокремлений кордоном вбудований фрейм.

  <IFRAME src = "foo.shtml" width = "400" height = "500"
  scrolling = "auto" frameborder = "1">
  [Ваш агент не підтримує фрейми або налаштований так, щоб
  не відображати їх.  Однак Ви можете переглянути
  <A Href="foo.shtml"> цей документ. </A>]
  </ IFRAME>

Змінювати розмір вбудованих фреймів не можна (і тому у них немає атрибута noresize ).

Примітка. Документи HTML можуть також впроваджуватися в інші документи HTML за допомогою елемента OBJECT . Детальніше див. У розділі про впроваджених документах .