Опубликован: 19.03.2007 | Уровень: для всех | Доступ: свободно
Лекция 10:

Использование фреймов

Используйте фреймы с осмотрительностью

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

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

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

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

Удобство фреймов необходимо сбалансировать с их недостатками при их использовании. Лучше сохранять вещи простыми, используя только минимальный набор фреймов, необходимых для управления соединением с требуемыми документами. В то же самое время необходимо предоставить средства для выхода из набора фреймов при соединении с внешними документами или при соединении с локальными страницами, которые не были созданы для вывода во фреймах.

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

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

Рис. 10.7. Плавающий фрейм

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

Линейные фреймы создают с помощью тега <iframe>, общая форма которого показана на листинге 10.15.

<iframe
  src="url"
  name="framename"
  frameborder="1|0"
  scrolling="auto|yes|no"

     Исключены:
     width="n|n%"
     height="n|n%"
     align="left|right"
     align="top|middle|bottom"
     vspace="n"
     hspace="n"
     marginwidth="n"
     marginheight="n"
>
</iframe>
Листинг 10.15. Общая форма тега <iframe>

Атрибут src определяет страницу для начальной загрузки во фрейм. Атрибут name присваивает фрейму имя в качестве указателя для ссылок. Фрейм не обязательно соединять со ссылками. Можно просто вывести внутри фрейма один внешний документ, и в этом случае надо определить в атрибуте src фрейма без имени только URL.

По умолчанию вокруг фрейма выводятся границы. Можно отключить вывод границ с помощью атрибута frameborder="0". Если контент страницы, загружаемой во фрейм, больше фрейма, то автоматически выводятся панели прокрутки.

Можно отключить вывод панелей прокрутки с помощью атрибута scrolling="no" или постоянно выводить панели прокрутки с помощью scrolling="yes".

Остальные атрибуты - width, height, align, vspace, hspace, marginwidth, и marginheight - лучше задавать с помощью таблиц стилей. Они должны считаться исключенными атрибутами.

Отметим, что закрывающий тег </iframe> является обязательным, даже если он ничего не замыкает. На странице Web можно определить любое количество плавающих фреймов.

Следующий код используется для вывода и активации плавающего фрейма. Свойства таблицы стилей заменяют большинство атрибутов фрейма. Отметим, что в теге <iframe> атрибут src не задан. Поэтому фрейм открывается без вывода документа, оставляя фрейм пустым.

<iframe name="TheFrame" scrolling="no" 
  style="width:225px; height:200px; float:right; margin-left:15px;
         border:ridge 5px">
</iframe>

<div>
<a href="Artemis.htm" target="TheFrame">Artemis</a>
<a href="Colossus.htm" target="TheFrame">Colossus</a>
<a href="Gardens.htm" target="TheFrame">Gardens</a>
<a href="Halicarnassus.htm" target="TheFrame">Halicarnassus</a>
<a href="Lighthouse.htm" target="TheFrame">Lighthouse</a>
<a href="Pyramid.htm" target="TheFrame">Pyramid</a>
<a href="Zeus.htm" target="TheFrame">Zeus</a>
</div>
Листинг 10.16. Код линейного фрейма
Елена Сапегова
Елена Сапегова

После прохождения теоретической части пришло письмо об окончании теоретической части курса, будет ли практическая часть?

Владислав Нагорный
Владислав Нагорный

Подскажите, пожалуйста, планируете ли вы возобновление программ высшего образования? Если да, есть ли какие-то примерные сроки?

Спасибо!