к оглавлению

Иерархия фреймов

Рассмотрим сначала простой пример. Разделим экран на две вертикальные колонки: (открыть)

<HTML>

<HEAD>

</HEAD>

<FRAMESET COLS="50%,*">

<FRAME NAME=left SRC=left.html>

<FRAME NAME=right SRC=right.html>

</FRAMESET>

</HTML>

Рис. 2.3. Фрейм с двумя вертикальными колонками

Назовем окно, в которое помещают фреймы, _top(_parent).

Усложним пример: разобьем правый фрейм на два по горизонтали: (открыть)

<HTML>

<HEAD>

</HEAD>

<FRAMESET COLS="50%,*">

<FRAME NAME=left SRC=left.html>

<FRAMESET ROWS="50%,*">

<FRAME NAME=top SRC=top.html>

<FRAME NAME=bottom SRC=bottom.html>

</FRAMESET>

</FRAMESET>

</HTML>

Рис. 2.4. Правый фрейм, разбитый на два по горизонтали

Обратите внимание на два момента: во-первых, следует различать _top и top, во-вторых, исчез фрейм right. По поводу первого замечания: _top — это зарезервированное имя старшего окна, а top — имя фрейма, которое назначил ему автор страницы. По поводу второго замечания: старшим окном для всех фреймов является все окно браузера, фрейма с именем right в данном случае не существует.

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

Первый документ:

<HTML>

<HEAD>

</HEAD>

<FRAMESET COLS="50%,*">

<FRAME NAME=left SRC=left.html>

<FRAME NAME=right SRC=right.html>

</FRAMESET>

</HTML>

Второй документ (right.htm):

<HTML>

<HEAD>

</HEAD>

<FRAMESET ROWS="50%,*">

<FRAME NAME=top SRC=top.html>

<FRAME NAME=bottom SRC=bottom.html>

</FRAMESET>

</HTML>

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

Такая интерпретация фреймовой структуры страницы находит отражение и в именовании фреймов JavaScript.

к оглавлению