HTML / 11. Фреймы

Теги фреймов

Для создания фреймового документа нужно знать только два тега: <frameset> и <frame>. Вдобавок к ним стандарты HTML 4 и XHTML предлагают тег <iframe>, который можно использовать для создания встроенных (inline), или плавающих (floating) фреймов, и тег <noframes> для броузеров, неспособных выводить фреймы.

Тег <frameset>, образуя набор фреймов (фреймсет, frameset), позволяет создавать фреймы в окне броузера. Атрибуты определения строк и столбцов для тега <frameset> позволяют вам определить число и начальные размеры столбцов фреймов. Тег <frame> определяет, какой документ – HTМL или какой-то другой – попадает поначалу в определенный фрейм, а также служит местом, где можно определить имя фрейма, которое затем может использоваться в гиперссылках.

Вот исходный текст HTML-страницы:

<html>
<head>
<title>Frames Layout</title>
</head>
<frameset rows="60%,*" cols="65%,20%,*">
<frame src="frame1.html">
<frame src="frame2.html">
<frame src="frame3.html" name="fill_me">
<frame scrolling=yes src="frame4.html">
<frame src="frame5.html">
<frame src="frame6.html" id="test">
<noframes>
Sorry, this document can be viewed only with a
frames-capable browser.
(a href = "frame1.html")
Take this link(/a)
to the first HTML document in the set.
</noframes>
</frameset>
</html>

Обратите внимание на несколько обстоятельств в приведенном примере. Во-первых, броузер заполняет фреймы по строкам, во-вторых, четвертый фрейм выставил полосы прокрутки, поскольку мы ему приказали это сделать, несмотря на то, что его содержимое и так помещается во фрейм безо всякой прокрутки. (Полосы прокрутки появляются автоматически, когда содержимое переполняет фрейм, если только их появление не запрещено при помощи атрибута scrolling в теге <frame>.)

Также представляет интерес атрибут name в одном из тегов фреймов. Дав фрейму имя, можно указать его в качестве места, в котором следует расположить запрашиваемый документ, или выполнить некоторое автоматизируемое действие. Чтобы добиться этого, нужно добавить специальный атрибут target в тег гиперссылки (a). Например, чтобы направить документ под названием new.html в третий фрейм, которому мы присвоили имя «fill_me», следует написать гиперссылку примерно так:

(a href="new.html" target="fill_me")

Если пользователь выберет эту ссылку, скажем, в первом фрейме, документ new.html заместит в третьем находящийся там документ frame3.html.

Что следует размещать во фреймах?
Всякий, кто открывал на экране своего компьютера несколько окон одновременно, чтобы сравнить содержимое документов или чтобы оперировать взаимодействующими приложениями, инстинктивно почувствует силу фреймов.Одно простое применение фреймов состоит в том, чтобы поместить в один фрейм общее для всего собрания документов содержимое, такое как информация о защите авторских прав, рекомендации и навигационные инструменты, размещая все другое содержимое документов в соседнем фрейме. Когда пользователь будет переходить к новым страницам, они будут загружаться во фрейм с переменным содержимым, тогда как содержимое первого фрейма будет оставаться на месте.

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

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

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

Статьи по HTML на эту тему:

Встроенные фреймы
Макетирование фреймов
Модель XFrames
Окна и фреймы в качестве цели
Содержимое фреймов

Вернуться в раздел: HTML / 11. Фреймы