Ссылки внутри фреймов
В обычном HTML-документе при переходе по ссылке, в окне браузера текущий документ заменяется новым. При использовании фреймов схема загрузки документов отличается от стандартной. Основное различие — возможность загружать документ в выбранный фрейм из другого. Для этой цели используется параметр target тега <А> (пример 1). В качестве значения задается имя фрейма, в который будет загружаться документ указанный параметром name (пример 2).
Пример 1. Ссылка на другой фрейм
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Ссылка на фрейм</title>
</head>
<body>
<p><a href="text.html" target="CONTENT">Содержание</a></p>
</body>
</html>
Пример 2. Имя фрейма
<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>
</html>
В примере 2 фрейму присваивается имя CONTENT. Чтобы документ загружался в указанный фрейм, используется параметр target="CONTENT".
Имя фрейма должно начинаться на цифру или латинскую букву. В качестве зарезервированных имен используются следующие:
_blank — загружает документ в новое окно;
_self — загружает документ в текущий фрейм;
_parent — загружает документ во фрейм,
занимаемый родителем, если фрейма-родителя нет параметр действует также, как
_top;
_top — отменяет все фреймы и загружает
документ в полное окно браузера.
Чтобы одновременно обновить сразу два фрейма и загрузить в них разные документы, придется воспользоваться JavaScsript (пример 3).
Пример 3. Одновременная загрузка документов в два фрейма
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Ссылка на фрейм</title>
</head>
<body>
<p><a href="menu2.html" onClick="parent.frames.CONTENT.document.location=´content2.html´">Нажми на меня, нажми</a></p>
</body>
</html>
В данном примере сСсылка используется как обычная, но в качестве параметра добавляется событие onClick, отслеживающее нажатие на ссылку. Обратите внимание, что имя фрейма следует писать также, как оно указано в параметре name (в данном случае заглавными символами). JavaScript чувствителен к регистру и мнительно относится к любому неправильному написанию.
| Статья опубликована: 12.09.2005 | Последнее обновление: 16.04.2008 |
Прежде, чем писать комментарий к статье, примите во внимание следующие моменты.
- Не задавайте вопросы в комментариях, для этой цели предназначен форум, где вы получите нужную помощь.
- Удаляются любые комментарии, которые:
- включают множество ошибок;
- написаны безграмотно;
- не имеют отношения к данной статье;
- не содержат никакой полезной информации для посетителей.
- Для выделения отдельных слов используйте следующие команды: [b]жирный[/b], [i]курсив[/i], [color=цвет]цветной текст[/color], [tag]тег[/tag], [var]параметр[/var], [code]пример[/code].
- Потренироваться в написании комментариев вы можете в песочнице.
Комментарии к статье
Юрий
13.12.2006
Vindex10
17.04.2007
Громозека
24.04.2007
<a href="submenu.html" target="window1" onClick="parent.frames('window2').document.location='content.html'"><button style="background-image:url(files/bg2.JPG)"><i><b>ЯПОНИЯ</b></i></button>
</a>
Скриптовая часть ссылки не работает почему-то. Может, есть версии?..
Влад Мержевич
26.04.2007
Громозека
03.05.2007
<a href="embassy.html" target="window1">
<button style="background-image:url(files/bg4.JPG)"><i><b>КНОПКА</b></i></button></a>
Пробовал различные варианты, с <input type=".." />, убирал фон кнопки, - в IE7 работать не хочет (работает только в виде обычной текстовой ссылки). В Firefox работает.
Это неизлечимо?
Влад Мержевич
04.05.2007
<button onclick="...">
Вместо многоточия вставляешь код из примера 2.
Юра
19.05.2007
Например, у меня есть фрейм-страница man.htm (в ней два фрейма - menu и main).
Мне надо, чтобы по ссылке из фрейма menu, открылась фрейм-страница woman.htm (в ней два фрейма - menu1 и main1), и во фрейме main1 появилась нужная мне страница, а не та, которая прописана в <FRAME SRC="*.htm" name="main1" NORESIZE>??
Очень НУЖНО!!!!
Влад Мержевич
21.05.2007
