Шаг 2 - Изучение фреймов


Тема

Работа с фреймами

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

Для задания разбиения на фреймы используется контейнер FRAMESET. Его параметр COLS задаёт разбиение по горизонтали (колонки), а параметр ROWS задаёт разбиение по вертикали (строки).

Контейнер FRAMESET при этом используется вместо контейнера BODY. Структура документа при этом остаётся прежней- контейнеры HEAD и FRAMESET располагаются в контейнере HTML.

Значения параметров COLS и ROWS задаются в кавычках. Через запятую следует набор значений, представляющих высоту или ширину фреймов. Количество значений определяет число фреймов.

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

Помимо этого, пропорции между фреймами можно задавать звёздочками *. Размер фрейма при этом определяется как отношения числа звёздочек на этот фрейм к общему числу звёздочек в значении параметра.

Примеры

Следует отметить, что Netscape Navigator 3.0- часто используемый браузер под Win 3.11, не отображает фреймы, размер которых задан в процентах.

На задании контенера FRAMESET заканчивается ровно половина работы. Следующий шаг- это определить для каждого фрейма имя и источник.

Для этого используется одиночный тег FRAME. Его параметр NAME задаёт имя фрейма. Желательно, чтобы это имя начиналось с буквы или подчёркивания, допустимо использовать буквы латинского регистра. Знаки помимо символа подчёркивания, латинских букв и цифр не допускаются. Параметр SRC задаёт имя файла, который будет загружен в фрейм.

Объявления фреймов должны идти по порядку:
фрейм разбиения верхний слева, движение вправо до конца строки- переход на следующую строку. Этот параграф касается совместного использования параметров COLS, ROWS. Использование двух параметров приводит к делению на строки, а затем- каждой строки на колонки.

Пример (разбиение COLS="*,*,*" ROWS="*,*")

   
   

Задание

Следует создать 2 фрейма (2 колонки), левая из которых имеет размер 200. В неё требуется поместить файл оглавления.

Примерный вид документа при этом будет следующим (имена файлов роли не играют):

Важно !

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

Строка, помещённая в контейнер TITLE контейнера HEAD, будет отображаться до тех пор, пока существует данное разбиение на фреймы. Т.е. вместо частного названия документа, например, "Содержание", следует задавать имя целого курса.

Согласно заданию, создаётся два фрейма с именами _oglavlenie и _soderjanie. На первый отводится фиксированный размер- 200 пикселов, на второй- оставшийся размер рабочей области окна браузера.

Фрейм _oglavlenie содержит оглавление, в то время, как фрейм _soderjanie остаётся пустым. Потенциально в него можно загрузить заставку или наиболее важную страницу (например, об авторе).


Наверх

Модификация ссылок

Пока не сделано никаких дополнительных действий, щелчок на ссылке оглавления будет приводить к загрузке документов в тот же самый фрейм. Для того, чтобы всё заработало так, как нужно, в файл oglavlen.htm (имя файла не важно) нужно внести изменения для того, чтобы ссылки загружали документ в фрейм _soderjanie.

С одной стороны, наиболее простой метод заключается в добавлении в начало содержимого BODY строки

(TARGET- цель). Добавление такого кода приведёт к тому, что все ссылки будут загружать документы в указанный фрейм, если только параметр TARGET самой ссылки не переопределит цель.

Более сложная (трудоёмкая) задача- это добавление к каждой ссылке параметра TARGET=имя_фрейма.

Пример:

<A HREF="объект" TARGET=имя_фрейма>
Текст ссылки (рисунко)
</A>

После модификации файла oglavlen.htm всё начнёт работать так, как это планировалось.

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

При неправильном задании имени фрейма, браузер отведёт под документ новое окно.

Имя фрейма в целеуказании _parent приводит к тому, что разбиение на фреймы исчезает, у пользователя на экране появляется документ во всю ширину рабочей области окна браузера. Т.е. ссылка <A HREF="" TARGET=_parent> может быть использована для "возвращения" от фреймов.


Наверх

Типичные решения

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

В своём роде "классической" можно назвать организацию документа, когда оглавление представлено слева, а документ- справа.

При условии, что ссылки можно разместить в одну (несколько) строк, оглавление может располагаться в верхнем или нижнем фрейме.

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

Например, на экране может постоянно находиться заголовок документа сверху и полоса навигации снизу, позволяющая переходить на стартовую страницу и отправлять электронное письмо.


Наверх