Руководство по JavaScript

         

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



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

Один из способов выдать сразу несколько файлов HTML на экране пользователя - это открыть несколько окон броузера. Другой путь состоит в том, чтобы разбить окно на несколько разделов. Эти разделы называются фреймами. В каждом фрейме показывается свой документ HTML. Каждый фрейм может иметь свои полосы прокрутки, ссылки, графические изображения и т.д. Фреймы могут функционировать независимо или влиять друг на друга, используя ссылки, указывающие на другие фреймы.
Для использования фреймов необходимо как минимум три файла: установачный файл и два исходных файла HTML. Установачный файл назначает исходные файлы HTML для каждого из окон, но не содержит собственного текста или графики. Исходные файлы HTML выдаются во фреймы и, как и любые другие файлы могут содержать ссылки, изображения, скрипты и пр.
Для создания установочного фрейма необходимо два тэга: <frameset> и <fram> . HTML-страница, создающая фреймы, в общем случае может выглядеть следующим образом: <html> <frameset cols="50%,50%"> <frameset rows="50%,50%"> <frame src="cell.htm"> <frame src="cell.htm"> </frameset> <frameset rows="33%,33%,33%"> <frame src="cell.htm"> <frame src="cell.htm"> <frame src="cell.htm"> </frameset> </frameset> </html>

Внутри тега <frameset> мы использовали свойства rows и cols. Это означает, что фреймы будут расположены друг над другом или друг под друго соответсвенно. Фрагмент "33%,33%,33%" задает размеры открываемых окон. Этот фрагмент эквивалентен следующей записи "33%,33%,*" или задать размер фрейма в пиксилах, для чего достаточно после числа не ставить символ %. Любому фрейму можно присвоить уникальное имя, воспользовавшись в тэге <frame> атрибутом name. Такая возможность пригодится нам в языке JavaScript для доступа к фреймам.
Тег <frame> содержит отрибуты, которые управляют различными свойствами фреймов.
BORDER=определяет ширину разделительной полосы между фреймами.
BORDERCOLOR=устанавливает цвет разделительной полосы между фреймами.
NORESIZE атрибут, запрещающий пользователю изменять размеры фреймов.
SCROLLING=задает, появляются ли в окне полосы прокрутки.
MARGINHEIGHT=добавляет пустое поле между верхней границей фрейма и началом текста или графики.
MARGINWIDTH=добавляет пустое поле между боковыми границами фрейма и текстом или графикой.

Следующий график показывает окно, содержащее три фреймов: This frame is This frame is named listFrame named contentFrame | | | | -------------v------------------------------v---------- | Music Club | Toshiko Akiyoshi | | Artists | Interlude | | | | | Jazz | The Beatles | | - T. Akiyoshi | Please Please Me | | - J. Coltrane | | | - M. Davis | Betty Carter | | - D. Gordon | Ray Charles and Betty Carter | | | | | Soul | Jimmy Cliff | | - B. Carter | The Harder They Come | | - R. Charles | | | ... | ... | ------------------------------------------------------- | Alphabetical By category Musician Descriptions | ----------------^-------------------------------------- | | This frame is named navigateFrame Пример 1. Следующе утверждение создает frameset, показанный в предыдущем графике.

Следующий график показывает иерархию фреймов. Все три фрейма имеют того же самого родителя, даже при том, что два из фреймов определены внутри отдельного frameset. Это, потому что родитель фреймов есть родитель окно, и фрейм, расположенный не в frameset, определяет окно. top | +--listFrame (category.html) | +--contentFrame (titles.html) | +--navigateFrame (navigate.html)

Вы можете обращаться к предыдущим фреймам, используя массив frames следующим образом. (Для информации относительно массива frames, смотрите объект frame.)

  • listFrame - top.frames [0]
  • contentFrame - [1] top.frames
  • navigateFrame - top.frames [2]

Пример 2.Вы можете создавать окно подобно предыдущему, но в котором вершина двух фреймов имеют отдельного родителя из navigateFrame. Верхний уровень frameset будет определен следующим образом:

Файл muskel3.html содержит следующие утверждения для верхних фреймов и определяют frameset:

Следующий график показывает иерархию фреймов. UpperFrame и navigateFrame родитель: верхнее окно. ListFrame и contentFrame родитель: upperFrame. top | | +--listFrame | | (category.html) +---upperFrame------| | (muskel3.html) | | +--contentFrame | (titles.html) | +---navigateFrame (navigate.html)

Вы можете обращаться к предыдущим фреймам, использующим массив frames следующим образом. (Для информации относительно массивов frames, смотрите объект frame.)

  • upperFrame - top.frames [0]
  • navigateFrame - [1] top.frames
  • listFrame - upperFrame.frames [0] или top.frames [0] .frames [0]
  • contentFrame - upperFrame.frames [1] или top.frames [0] .frames [1]



Содержание раздела