Многооконные документы (Frames)

Автор: Пользователь скрыл имя, 12 Декабря 2011 в 15:31, контрольная работа

Описание работы

Совсем еще недавно, использовать FRAME (многооконные) документы не рекомендовалось грамотными мастерами, так как зачастую у клиента не было средств, правильно для их правильного отображения, они сильно замедляли работу компьютера и часто вообще показывались неправильно. Но все меняется и не прошло и года, как фреймы стали восприниматься как неотъемлемый атрибут хорошо оформленного WEB сервера, дающий очень удобные средства навигации на сервере и их отсутствие трактуется как не уважение к клиенту.

Работа содержит 1 файл

Теория по интернет технологиям.doc

— 76.00 Кб (Скачать)

Многооконные  документы (Frames)

Совсем еще  недавно, использовать FRAME (многооконные) документы не рекомендовалось грамотными мастерами, так как зачастую у  клиента не было средств, правильно  для их правильного отображения, они сильно замедляли работу компьютера и часто вообще показывались неправильно. Но все меняется и не прошло и года, как фреймы стали восприниматься как неотъемлемый атрибут хорошо оформленного WEB сервера, дающий очень удобные средства навигации на сервере и их отсутствие трактуется как не уважение к клиенту.

Фреймы (окна или  рамки)- это достаточно мощный механизм навигации и создания пользовательских меню.

Что дают фреймы или окна:

  • Каждому окну может быть присвоен индивидуальный URL, благодаря чему в него может загружаться информация независимо от других окон (рамок) на странице.
  • Каждому окну может быть присвоено ИМЯ, позволяющее ссылаться на него из других URL. Вы может динамически изменять размер при изменении пользователем размеров окна. (Что, в принципе, может быть запрещено, для уверенности в постоянстве размера окна.)

Эти свойства многооконных документов (фреймов) позволяют использовать следующие возможности:

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

Наглядным примером использования окон (фреймов или рамок) является пособие по языку HTML 3.2, которое вы в данный момент читаете.

Создание  простого многооконного  документа

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

Для создания простейшего  многооконного документа (из двух окон) необходимо иметь как минимум  три HTML страницы: две - которые будут  показывать в окнах и третью (головную), которая создает эти окна.

В случае, если мы делим окно просмотрщика по строкам на два подокна, то мы должны создать две HTML страницы, row1.html и row2.html, первая из которых будет показывать в верхней части (в вернем окне), а вторая в нежней.

Далее создаем  еще оду HTML страницу, определяющую способ разбиения рабочего поля.

<HTML>

<FRAMESET ROWS="20%, *">

    <FRAME SRC="row1.html">

    <FRAME SRC="row2.html">

</FRAMESET>

</HTML>

В результате окно просмотрщика будет разделено поперек (по строкам) на две части, на верхнее  окно будет отведено 20% рабочего поля, а на нижнее оставшееся часть (80%). В вернее окно будет загружена страницы row1.html, а в нижнее страница - row2.html.

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

<FRAMESET COLS="20%, *">

В задании  размеров подокон можно использовать абсолютные и относительные (как  в приведенном выше примере) значения:

  1. Задание относительных размеров в процентах от рабочего поля просмотрщика.
  2. Задание абсолютных размеров в пикселах (pixels). Например, задание размера верхнего подокна величиной в 200 pixels ROWS="200, *".
  3. Символ "*", используется для обозначения "всего того, что осталось".
  4. Задание "n*", где n целое число означает n-ю часть от рабочего поля. Например, ROWS="*, 2*" определяет два окна: первое занимает 1/3, а второе 2/3 от высоты рабочего поля; или ROWS="100, 2*, *" создает 3 окна: первое величиной в 100 pixels второе 2/3 от оставшегося пространства, и третье все, что осталось (1/3).

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

Имена окон

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

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

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

Имя присваивается  окну одним из трех способов:

  1. Документ может содержать необязательный МЕТА-параметр, модифицирующий заголовок HTTP ответа сервера. Это поле может быть включено в заголовок HTTP ответа из документа при помощи команды МЕТА или непосредственно генерится сервером (ежели ваш сервер поддерживает эту спецификацию, к сожалению просмотрщики даже 4-х версий не обрабатывают данное поле команды META):
  2. Window-target: window_name

    Данный параметр заставит документ загрузиться в  окно с названием window_name, или создать такое окно, если оно не существует.

  1. Ссылка на документ может содержать указание (на языке HTML), присваивающее ссылке window_name. Документ, загруженный по такой ссылке ведет себя так же как имеющий в заголовке поле Window-target, описанный в 1-м методе.
  2. Окно, созданное внутри набора фреймов (FRAMESET) может быть проименовано при помощи атрибута NAME команды FRAME.

Таким образом, при использовании фреймов для  задания имени окна используется атрибут NAME в команде FRAME, например:

<HTML>

<FRAMESET ROWS="20%, *">

<FRAME NAME="first" SRC="row1.html">

<FRAME NAME="second" SRC="row2.html">

</FRAMESET>

</HTML>

Если в документе row1.html будет вызвана ссылка на документ newpage.html следующим образом

<A HREF="newpage.html" TARGET="second">Click here to see "newpage.html".</A>

то документ newpage.html откроется во втором окне, которое имеет имя NAME="second".

Существует несколько  стандартных имен окон задаваемых атрибутом TARGET к команде <A>

TARGET="_top" Загрузить документ в основном окне просмотрщика (при этом ликвидируются все установки фреймов).
TARGET="_blank" Открыть новое  окно просмотрщика и в него загрузить  документ. Эта команда работает и в отсутствии фреймов.
TARGET="_self" Загрузка документа  в то же самое окно, откуда он был  вызван (работает по умолчанию).
TARGET="_parent"   Загрузка документа  в "родительское" окно по отношению  к текущему (см. ниже).

Дополнительные  параметры

Следующие атрибуты устанавливают возможности для клиента изменения размеров окна и прокрутки текста:

NORESIZE

<FRAME SRC="row1.html" NORESIZE>

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

SCROLLING=yes|no

<FRAME SRC="row1.html" SCROLLING=NO>

Клиенту запрещена  прокрутка текста в данном окне (по умолчанию установлено SCROLLING=yes).

3-D рамки (border)

ПО умолчанию  команда FRAMESET рисует 3-D рамку (borders) между окнами (frames). Это можно отменить используя атрибут FRAMEBORDER, например:

<FRAMESET ROWS="20%, *" FRAMEBORDER=0 FRAMESPACING=0>

Окна будут  создаваться без рамок и без  отступов (FRAMESPACING) от границ окон.

Сложные окна

Более сложные  многооконные документы, наподобие  данного руководства, создаются при помощи комбинации соответствующих команд FRAMESET.

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

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

<HTML>

<FRAMESET ROWS="10%, *">

Далее загружаем  в вернее окно заголовок 

<FRAME SRC="head.html">

Следующий шаг - разбиваем остаток вдоль на два  окна: левое для меню, правое для содержания и загружаем в левое окно файл с меню:

<FRAMESET COLS="20%,*">

       <FRAME SRC="menu.htm" NAME="menu">

И наконец, делим  правую часть на два подокна и  загружаем в них соответствующие  документы с содержанием:

<FRAMESET ROWS="40%,*">

       <FRAME SRC="index.html" NAME="index">

       <FRAME SRC="main.html"  NAME="main">

    </FRAMESET>

  </FRAMESET>

</FRAMESET>

</HTML>

Отношение родительского окна ("_parent") - переход на ступеньку вверх при разбиении рабочего поля, определяется следующим образом: если вызов документа происходит из окон "index" или "main", то родительским окном считается вся правая часть документа, если из окна "menu", то вся нижняя часть документа, при этом разбиение на окна нижнего уровня пропадает.

Если вы желаете  присвоить имена промежуточным  окнам разбиения (например правому  окну), то в этом случае нужно в правое окно загрузить файл right.html с разбиением FRAMESET:

  <FRAMESET COLS="20%,*">

       <FRAME SRC="menu.htm"   NAME="menu">

       <FRAME SRC="right.html" NAME="right">

  </FRAMESET>

</FRAMESET>

</HTML>

Информация о работе Многооконные документы (Frames)