![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Взаимодействие фреймов
После того как мы узнали о методах создания фреймов, пришло время познакомиться с их главным предназначением – управлением навигацией по сайту. Работа с фреймовыми структурами имеет специфические особенности, которые следует учитывать при использовании данного средства навигации для HTML-документов. Взаимодействие между отдельными фреймами происходит посредством загрузки документа по соответствующей ссылке в установленное окно. Чтобы при организации ссылки выполнялась загрузка страницы в определенный фрейм, этому фрейму (он называется целевым) нужно присвоить уникальное имя с помощью атрибута NAME. Имена целевых фреймов могут начинаться с любой строчной или прописной буквы латинского алфавита. Всем фреймам, содержание которых планируется менять, необходимо дать правильные имена: они должны начинаться с алфавитно-цифрового символа, но не с символа подчеркивания, так как он является первым символом зарезервированных имен фреймов. Все остальные имена, начинающиеся указанным символом, игнорируются. Чтобы назначить фрейму имя, следует вставить атрибут NAME в тег < FRAME >.
< FRAME SRC=" info.htm" NAME=" perv" >
устанавливает, что содержимым фрейма с именем " perv" после начальной загрузки будет файл info.htm. Реализация операции загрузки осуществляется с помощью параметра TARGETтега < A >.
< A HREF=" moreinfo.htm" TARGET=" perv" > текст ссылки < /A>
Атрибут TARGET содержит имя фрейма. При активизации этой ссылки содержимое фрейма perv, т. е. файл info.htm, размещенный в нем при создании, будет заменен файлом moreinfo.htm. Если при создании фрейма ему не присваивается имя, то по умолчанию вызванный по гиперссылке документ будет загружаться в текущий фрейм, из которого была активизирована ссылка. Этого можно избежать и сделать так, чтобы страница появлялась в соседнем окне. Существуют специальные зарезервированные имена, по которым происходит загрузка документов на узлах с фреймовой структурой: _blank – загружает указанный файл в новое окно без названия; _self – загружает указанный файл в кадр, откуда делается вызов; _parent – загружает указанный файл в старший (родительский) кадр сетки кадров; если такой кадр не определен, то этот результат аналогичен self; _top – загружает указанный файл в полное окно, разрушая всю структуру кадров. Приведем несколько примеров:
< A HREF=" stuft.htm" TARGET=" _blank" >
активизация ссылки приведет к открытию нового, не имеющего названия окна браузера и выводу в него содержимого файла stuft.htm. Это может быть новый HTML-документ либо определение новой сетки кадров.
< A HREF=" stuft.htm" TARGET=" _self" >
указывает на то, что при активизации ссылки кадр, в котором она расположена, будет очищен и в него будет выведен файл stuft.htm.
< A HREF=" stuft.htm" TARGET=" _parent" >
при активизации ссылки сетка кадров, которой принадлежит вызывающий кадр, будет заменена содержимым stuft.htm. < A HREF=" stuft.htm" TARGET=" _top" >
означает, что при активизации ссылки все окно браузера будет заменено содержимым stuft.htm. Рассмотрим пример по взаимодействию между фреймами и открытию отдельных окон браузера с помощью атрибута TARGET. Создадим файл со следующей фреймовой структурой (рис. 4.7).
Рис. 4.7. Пример фреймовой структуры
< HTML> < HEAD> < TITLE> взаимодействие между фреймами < /TITLE> < /HEAD> < FRAMESET ROWS=" 2*, *" > < FRAME NAME=" menu" SRC=" menu.htm"» NORESIZE FRAMEBORDER=" 1" > < FRAMESET COLS=" 50%, 50%" > < FRAME NAME=" left" SRC=" page2fl2.htm" > < FRAME NAME=" right" SRC=" page2fl3.htm" > < /FRAMESET> < /FRAMESET> < /HTML>
Верхний фрейм будет содержать перечень гиперссылок, а два нижних предназначены для открытия в них содержимого конкретной ссылки, но предварительно в них загружается фоновое изображение. Содержимое файла верхнего фрейма:
< HTML> < HEAD> < TITLE> взаимодействие между фреймами < /TITLE> < /HEAD> < BODY BGCOLOR=" #ffffff" TEXT=" black" LINK=" #ff0000" ALINK=" #00ff00" VLINK=" blue" > < H3> Ссылки верхнего фрейма> < /H3> < UL TYPE=" square" > < LI> < A HREF=" page2fl4.htm" TARGET=" left" > водяная лилия в левом фрейме< /A> < LI> < A HREF=" page2fl4.htm" TARGET=" right" > водяная лилия в правом фрейме< /A> < LI> < A HREF=" page1121.htm" TARGET=" left" > ромашки в левом фрейме< /A> < LI> < A HREF=" page1121.htm" TARGET=" right" > ромашки в правом фрейме< /A> < /UL> < /BODY> < /HTML>
После открытия файла с фреймовой структурой вы увидите экран браузера, разделенный на две горизонтальные части (рис. 4.8). В верхней части приведен список еще не использованных гиперссылок, которые отображены синим цветом. А в нижней части, в свою очередь разделенной тоже на две части, увидите фоновое содержание этих фреймов. После использования гиперссылок видно, что содержимое этих частей меняется, а активная гиперссылка отображается зеленым цветом.
Рис. 4.8. Основная фреймовая структура и структура с использованием гиперссылок
Итак, мы рассмотрели документы, которые по специальной гиперссылке загружались в целевой фрейм. При создании целевого фрейма использовались атрибуты NAME и TARGET. В рассмотренном примере были использованы три целевых фрейма. Но иногда бывает ситуация, когда используется один целевой фрейм, а все файлы по нескольким гиперссылкам должны открываться в этом фрейме. Чтобы организовать такую загрузку, не нужно записывать атрибут TARGETв каждый элемент привязки, достаточно для этого использовать тег < BASE >, который размещается в заголовочной части HTML-файла. Фрейм, в который производится загрузка по гиперссылкам, называется базовым фреймом и задается значением атрибута TARGETв одиночном теге < BASE >. Например, начало HTML-файла, где располагаются гиперссылки, будет выглядеть следующим образом:
< HTML> < HEAD> < TITLE> список меню < /TITLE> < BASE TARGET=" right" > < /HEAD>
|