Поскольку фреймы представляют собой набор независимых окон, для
того, чтобы ссылка открывалась в нужном месте, следует указывать
имена фреймов.
Предположим, у нас есть документ, состоящий из двух фреймов, названных MENU
и CONTENT, как изображено на рис. 1.
Рис. 1. Вид документа с фреймами
Обычно в левом фрейме находится список ссылок на разделы сайта, а в правом
фрейме отображается содержимое документов. Чтобы веб-страница открывалась
в определенном фреймовом окне, следует использовать следующий код (пример
1).
Пример 1. Открытие документа во фрейме
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Фреймы</title>
</head>
<body>
<p><a href="http://www.htmlbook.ru" target="CONTENT">Ссылка
открывает сайт www.htmlbook.ru во фрейме с именем CONTENT</a></p>
</body>
</html>
Если параметр ссылки target="CONTENT"
будет опущен, документ откроется в текущем фрейме, где находится сама ссылка.
Чтобы одновременно обновить сразу два фрейма и загрузить в них разные документы,
придется воспользоваться JavaScript (пример 2).
Пример 2. Одновременная загрузка документов в два фрейма
Файл index.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Файл index.html</title>
</head>
<frameset cols="200,*">
<frame src="menu.html" name="MENU" noresize>
<frame src="content.html" name="CONTENT">
</frameset>
Файл menu.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Файл menu.html</title>
</head>
<body>
<p><a href="menu2.html" onClick="parent.frames[´CONTENT´].document.location=´content2.html´">Нажми
на меня, нажми</a></p>
</body>
</html>
Ссылка используется как обычная, но в качестве параметра добавляется
событие onClick, отслеживающее нажатие
на ссылку. Обратите внимание, что имя фрейма следует писать также,
как оно указано в параметре name (в
данном случае заглавными символами). JavaScript чувствителен к регистру
и мнительно относится к любому неправильному написанию.