В этой главе ваш труд будет
вознагражден полностью. Здесь вы
увидите, как создавать
действительно интерактивные
страницы. Ведь Интернетовская
страница - не только источник
информации для блуждающего по Internet
идальго. Web-страница также может
служить мощным рекламным орудием,
позволяя владельцу страницы
контактировать с ее посетителем.
Компания, рекламирующая свой товар
или сервис на Web-странице, может тут
же предложить потенциальному
клиенту заполнить анкету и выслать
ее обратно (по сети Internet
естественно). В ответ на это клиент
персонально получит информацию (
это может быть сделано через
обычную или электронную почту) или
продукт, который он заказал в
компании, заполнив анкету.
Начнем, с описания рамок ( frame ).
Рамки сильно изменяют облик
Web-страницы и делают ее более
притягательной и интересной. На
самом деле те примеры, что мы
создавали до сих пор, были в своём
роде однорамочными страницами.
Каждая страница представляла собой
отдельный файл. Технология рамок
позволяет поместить на одной
странице несколько файлов. Итак,
отдельная рамка определяется
одиночным ярлыком <FRAME>, который также имеет инструкцию SRC
(source - источник) для описания
файла, который размещается в данной
рамке. Полный синтаксис выглядит
следующим образом : <FRAME
SRC="имя_файла.htm">.
Имя файла надо давать полностью,
включая все директории, если он
расположен не в той дирктории, где
находитя файл с рамкой. Сложность
заключается в определении
совокупности рамок (frameset) на одной
странице. Это делается с помощю
двойного ярлыка <FRAMESET>(</FRAMESET>).В
пределах этого ярлыка можно
определить отдельные рамки, их
взаимное расположение и размеры.
Допустим, мы хотим создать страницу
с двумя горизонтальными рамками,
которые содержат файлы, созданные
нами ранее, а именно:
<FRAME SRC="файл 1.htm">
<FRAME SRC="файл 2.htm">
Для этого в ярлык <FRAMESET> надо
добавить параметр ROWS (для
вертикального расположения рамок
следует дать инструкцию COLS) и
указать размеры рамок. Размеры
рамок могут быть указанны одним из
трех способов:
- Абсолютный размер в пикселах
- Размер в процентах по
отношению к высоте(для ROWS) или
ширине (для COLS) страницы)
- Относительные размеры рамок.
Мы будем использовать случаи
"2" и "3" как наиболее
наглядные. Итак, рассмотрим для
иллюстрации следующий .HTM-файл :
<HTML>
<! Пример страницы с двумя
горизонтальными рамками внутри>
<HEAD>
<TITLE>Пример с фреймами</TITLE>
</HEAD>
<! Обратите внимание: ярлык BODY
здесь не нужен >
<! Первая и третья рамки одинаковы,
а средняя - самая широкая >
<FRAMESET ROWS="30%, 70%">
<FRAME SRC="файл 1.htm">
<FRAME SRC="файл 2.htm">
</FRAMESET>
</HTML>
Обратите внимание, что каждая из
двух рамок будет иметь справа
скандирующую линейку, которая
позволяет просматривать весь
текст. Следующий пример
демонстрирует вертикальное
расположение тех же рамок, но
теперь их размер задается
относительно друг друга.
<HTML>
<! Пример страницы с тремя
вертикальными рамками внутри>
<HEAD>
<TITLE>Ninth Document</TITLE>
</HEAD>
<! Первая и третья рамки одинаковы,
а средняя -в 2 раза толще>
<FRAMESET COLS="*, 2*,">
<FRAME SRC="файл 1.htm">
<FRAME SRC="файл 2.htm">
<FRAME SRC="seventh.htm">
</FRAMESET>
</HTML>
Знак "*" заменяет абсолютный
размер рамки, браузер заботиться о
правильном размере ( ее задача -
следовать требованию программиста
о соблюдении относительной
величины рамок). Те рамки, которые
полностью не поместились в окне,
имеют одну или даже две
скандирующие линейки. В следующем
примере мы создадим три рамки. Одна
из них будет содержать пол экрана
по вертикали слева, а две другие,
одинаковые по размерам,
расположатся горизонтально
справа. Для создания такой
конструкции нам придется
воспользоваться ярлыком <FRAMESET>
дважды. Один раз - для вертикальной
разбивки экрана, второй раз - для
горизонтальной. Логика примера
достаточно проста.
<HTML>
<! Пример страницы с тремя
вертикальными рамками >
<HEAD>
<TITLE>Tenth Document</TITLE>
</HEAD>
<! Первый FRAMESET ярлык разделяет
экран на две части>
<FRAMESET COLS="50%, 50%">
<! Ниже следующий файл будет
распологаться слева>
<FRAME SRC="файл 1.htm">
<! Теперь разбиваем правую часть
экрана на две части>
<FRAMESET ROWS="60%, 40%">
<FRAME SRC="файл 2.htm">
<FRAME SRC="файл 3.htm">
</FRAMESET>
</FRAMESET>
</HTML>
Рамки позволяют поместить
страницу - оглавление в левой части
экрана, а страницу, на которую
производится ссылка - в правой.
Делается это с применением
дополнительных параметров NAME (имя)
и TARGET (цель). Рассмотрим пример.
Допустим, у нас есть следующий файл,
который будет служить оглавлением (
Link.htm )
Пример 4
<HTML>
<! Пример страницы с тремя
вертикальными рамками >
<HEAD>
<TITLE>Link page</TITLE>
</HEAD>
<BODY>
<H4>Содержание</H4>
<!- гиперсвязи с другими файлами>
<A HREF="файл 1.htm" target=main>Список</A>
<P>
<A HREF="файл 2.htm" target=main>Список</A>
<P>
<A HREF="файл 3.htm" target=main>Список</A>
</BODY>
</HTML>
Файлы "Файл 1.htm" "Файл
2.htm" и "Файл 3.htm" у нас уже
имеются. Параметр target внутри каждой ссылки говорит о том, в каком фрейме будет открываться ссылка ( имя фрейма ). Значение параметра target=main. Вообще мы могли использовать любое имя, но это имя будет нагляднее и понятнее для всех. Далее создаём файл-рамку, и указываем у второго документа параметр name=main. В нём и будут открываться ссылки. Это выглядит так :
<HTML>
<HEAD>
<TITLE>Frame page</TITLE>
</HEAD>
<BODY>
<FRAMESET COLS="20%, *">
<!В левой части будет файл
оглавление>
<FRAME SRC="Link.htm">
<FRAME SRC="Файл 1.htm"
name="main">
</FRAMESET>
</HTML>
Фреймы это интересная задумка, но сейчас многие вэб-дизайнеры, в частности и мы, отказываются от этой технологии. Но иногда без фреймов просто не обойтись!