|
После прохождения теоретической части пришло письмо об окончании теоретической части курса, будет ли практическая часть? |
Использование фреймов
Задание фрейма в ссылке
После создания множества фреймов и загрузки фреймов начальными документами, надо иметь возможность открывать во фреймах другие документы. Рассмотрим случай множества фреймов с меню ссылок в левом фрейме и соединенными документами, которые выводятся в правом фрейме. Щелчок на ссылке во фрейме меню открывает соответствующий документ во фрейме документов.
Показанное выше приложение имеет приведенный ниже документ frameset. Этот документ Wonders.htm открывается в браузере, чтобы вывести набор фреймов.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>Seven Wonders of the World</title>
</head>
<frameset rows="20%,80%" frameborder="0" framespacing="0">
<frame src="Title.htm" scrolling="no"/>
<frameset cols="20%,80%" frameborder="0" framespacing="0">
<frame src="Menu.htm"/>
<frame src="Home.htm" name="Content"/>
</frameset>
</frameset>
</html>
Листинг
10.9.
Код страницы множества фреймов
Это составной набор фреймов с вложением. Внешний набор фреймов состоит из двух строк ( rows ). Верхняя строка является фреймом, в который загружается заголовок документа (Title.htm); нижняя строка является вложенным набором фреймов. Это второе множество фреймов состоит из двух столбцов. В левый фрейм загружается документ меню (Menu.htm); в правый фрейм вначале загружается открывающая страница сайта (Home.htm). Для правого фрейма задано также имя ( name="Content" ), так как он является фреймом для вывода документов, соединяемых из фрейма меню.
Отметим, что множество фреймов не выводит границы, так как в тегах <frameset> задано frameborder="0" и framespacing="0" ( framespacing необходимо задать равным 0, чтобы исключить незначительное свободное пространство между фреймами, даже когда границы не выводятся.) Также для верхнего фрейма задан атрибут scrolling="no", чтобы подавить выводимую по умолчанию полосу прокрутки.
Атрибут target
Соединенные документы загружают во фреймы, задавая атрибут target="framename" в теге анкера <a>. Атрибут target определяет имя фрейма (заданное в теге <frame name="framename"/> ), в котором открывается документ. Поэтому страница Menu.htm, которая загружается выше в левый фрейм, кодируется следующим образом, чтобы направлять соединенные страницы в именованный фрейм "Content".
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>Menu Page</title>
<style type="text/css">
body {background-color:#F0F0F0}
h2 {text-align:center}
</style>
</head>
<body>
<h2>Menu</h2>
<div>
<a href="Artemis.htm" target="Content">Artemis</a><br/>
<a href="Colossus.htm" target="Content">Colossus</a><br/>
<a href="Gardens.htm" target="Content">Gardens</a><br/>
<a href="Halicarnassus.htm" target="Content">Halicarnassus</a><br/>
<a href="Lighthouse.htm" target="Content">Lighthouse</a><br/>
<a href="Pyramid.htm" target="Content">Pyramid</a><br/>
<a href="Zeus.htm" target="Content">Zeus</a><br/>
</div>
</body>
</html>
Листинг
10.10.
Код для направления ссылок в именованный фрейм
Хотя документ, выводимый в правом фрейме, изменяется при каждом выборе в меню, сам документ меню всегда остается в левом фрейме. Он не должен перезагружаться каждый раз, когда выводится страница с новым документом.

