Посилання во фреймах
Фрейми - це незалежні вікна, для того щоб посилання відкривалося у потрібному місці, потрібно вказати імена фреймів.
Припустимо, у нас є документ, що складається з двох фреймів, названих MENU та CONTENT, як зображено на рис. 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=utf-8">
<title>Фрейми</title>
</head>
<body>
<p><a href="http://html.in.ua" target="CONTENT">Посилання відкриває сайт www.html.in.ua у фреймі з іменем CONTENT</a></p>
</body>
</html>Якщо атрибут посилання target="CONTENT" буде опущений, документ відкриється в поточному фреймі, де знаходиться саме посилання.
Щоб одночасно оновити два фрейми та завантажити в них різні документи, доведеться скористатися JavaScript (приклад 2, 3).
Приклад 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=utf-8">
<title>Фрейми</title>
</head>
<frameset cols="200,*">
<frame src="menu3.html" name="MENU" noresize>
<frame src="content.html" name="CONTENT">
</frameset>
</html>Приклад 3. Файл menu3.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=utf-8">
<title>Меню</title>
</head>
<body>
<p><a href="menu2.html" onclick="parent.frames['CONTENT'].document.location='text.html'">Натисни на мене</a></p>
</body>
</html>Посилання використовується як звичайно, але в якості атрибуту додається подія onclick, яка відстежує натискання на посилання. Зверніть увагу, що ім'я фрейму слід писати так само, як вказано в атрибуті name (у даному випадку великими літерами). JavaScript чутливий до регістру і строгий до будь-якого неправильного написання.