В обычном HTML-документе при переходе по ссылке, в окне браузера текущий
документ заменяется новым. При использовании фреймов схема загрузки документов
отличается от стандартной. Основное отличие — возможность загружать документ в
выбранный фрейм из другого. Для этой цели используется параметр target тега <А>. В качестве
значения используется имя фрейма, в который будет загружаться документ,
указанный параметром name (пример 1).
Пример 1. Ссылка на другой фрейм |
Файл index.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Frameset//EN">
<html>
<frameset cols="200,*">
<frame
src="menu.html" name="MENU" noresize>
<frame src="content.html" name="CONTENT">
</frameset>
</html>
Файл menu.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN">
<html>
<body>
<a href="text.html" target="CONTENT">Содержание</a>
</body>
</html> |
В приведенном примере фрейму присваивается имя content. Чтобы документ загружался в указанный фрейм,
используется параметр target="CONTENT".
Имя фрейма должно начинаться на цифру или латинскую букву. В качестве
зарезервированных имен используются следующие:
_blank — загружает документ в новое окно;
_self — загружает документ в текущий фрейм;
_parent — загружает документ во фрейм, занимаемый
родителем, если фрейма-родителя нет параметр действует также, как _top;
_top — отменяет все
фреймы и загружает документ в полное окно браузера.
Чтобы одновременно обновить сразу два фрейма и загрузить в них разные
документы, придется воспользоваться JavaScsript (пример 2).
Пример 2. Одновременная загрузка документов в два
фрейма |
Файл index.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<frameset cols="200,*">
<frame src="menu.html" name="MENU" noresize>
<frame
src="content.html" name="CONTENT">
</frameset>
</html>
Файл menu.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<a href="menu2.html" onClick="parent.frames[´CONTENT´].document.location=´content2.html´">Нажми
на меня, нажми</a>
или
<a href="menu2.html" onClick="parent.frames.CONTENT.document.location=´content2.html´">
Нажми
на меня, нажми</a>
</body>
</html> |
Ссылка используется как обычная, но в качестве параметра добавляется событие onClick, отслеживающее нажатие на ссылку. Обратите
внимание, что имя фрейма следует писать также, как оно указано в параметре name (в данном случае заглавными символами). JavaScript
чувствителен к регистру и мнительно относится к любому неправильному
написанию.