<html>
<head>
<title>menu</title>
</head>
<body>
<base target="content">
<a href="urok1.html">Урок 1</a>
<br>
<a href="urok2.html">Урок 2</a>
<br>
<a href="urok3.html">Урок 3</a>
<br>
<a href="urok4.html">Урок 4</a>
<br>
</body>
</html>
Кроме имени фрейма значением аттрибута target может быть одно из следующих зарезервированных слов:
_blank - браузер должен открыть новое окно и загрузить в него документ (на который была ссылка) - обычно используется для того, чтобы посетитель не уходил по ссылке с вашего сайта;
_top - браузер должен загрузить документ в этом же окне, предварительно очистив его от всех фреймов - аттрибут с этим значением надо указывать обязательно, если вы делаете ссылку на другой сайт из фрейма. В противном случае этот сайт будет загружен в фрейме;
_self - документ загружается в том же фрейме, где находится сама ссылка. Может потребоваться в случае, если в тексте есть строка <base target="имя_фрейма">;
_parent - документ загружается в родительский фреймсет текущего фрейма.
Все вышеперечисленные значения должны начинаться с символа подчеркивания и набираться только прописными буквами.
Используя на своем сайте фреймы, нельзя забывать о том, что некоторые браузеры могут не поддерживать фреймы - старые браузеры, речевые и др. Специально для них существует тег noframes, в котором можно сделать "нефреймовую" версию сайта, или хотя бы просто перечислить ссылки на страницы сайта. Пример:
<html>
<head>
<title>Уроки HTML</title>
</head>
<frameset cols="200,*">
<frame src="menu.html">
<frame src="urok1.html" name="content">
</frameset>
<noframes>
<body>
<p>Эта страница использует фреймы.
Поскольку Ваш браузер не может просматривать такие страницы,
воспользуйтесь следующими ссылками:
<p><a href="urok1.html">Урок 1</a>
<p><a href="urok2.html">Урок 2</a>
<p><a href="urok3.html">Урок 3</a>
<p><a href="urok4.html">Урок 4</a>
</body>
</noframes>
</html>
В результате браузер, поддерживающий просмотр фреймов, отобразит на эране только фреймы с их содержимым и проигнорирует все, что находится между <noframes> и </noframes>. Остальные браузеры не обратят никакого внимания на содержимое контейнера <frameset>, но воспоизведут содержимое <noframes>. Еще одна причина, по которой следует обращать внимание на тег <noframes> - далеко не все поисковые роботы понимают фреймы. Поэтому без <noframes> ваша страница рискует остаться непроиндексированной.
Придерживайтесь следующего порядка размещения: сперва контейнер <frameset>, а потом - <noframes> (т.е. как в примере). В противном случае возможна ошибка Netscap'а.
Существует еще одна разновидность фреймов - встроенный фрейм (inline frame). Он может быть вставлен непосредственно в текст страницы и выглядит следующим образом:
Для встраивания такого фрейма используется тег <iframe>. Наличие закрывающего тега обязательно. Между ними можно вставлять любой текст для браузеров, не поддерживающих фреймы. Аттрибуты:
src="filename.html" - указывает адрес содержимого фрейма;
name="name" - присвает имя фрейму;
width="x" - ширина фрейма;
height="y" - высота фрейма;
scrolling="yes|no|auto" - наличие полос прокрутки;
frameborder="1|0|yes|no" - наличие (yes или 1) или отсутствие (no или 0) рамки вокруг фрейма;
marginwidth="x" - величина отступа содержимого фрейма от границ по горизонтали;
marginheight="y" - величина отступа по вертикали.
Для примера выше был использован следующий код:
<iframe src="examples/iframe.htm" width="300" height="70"
scrolling="auto" frameborder="1">
Ваш браузер не поддерживает фреймы.
Здесь должен быть размещен пример
встроенного фрейма.
</iframe>
Размеры такого фрейма не могут изменяться пользователем. Поэтому аттрибут noresize не используется.
И в заключение совет. Если ваш сайт будет построен с использованием фреймов, то часто посетители будут к вам приходить с поисковиков, и чаще всего они будут попадать на одну из внутренних страниц сайта. Естественно, сайт они увидят совсем не в том виде, как это задумывалось вами. Чтобы этого не происходило, вставьте в текст страниц такой код:
<SCRIPT LANGUAGE="JavaScript">
<!--
if (self.parent.frames.length == 0)
document.writeln("Эту страницу лучше просматривать во фрейме.");
document.writeln("Если ваш браузер поддерживает фреймы, то");
document.writeln("<A HREF=\"index.html\">кликните здесь.</A>");
// -->
</SCRIPT>
Илитакой:
<SCRIPT LANGUAGE="JavaScript">
<!--
if (self.parent.frames.length == 0)
self.parent.location="index.html";
// -->
</SCRIPT>
Первый скрипт выводит предложение перезагрузить страницу, если она была загружена не в фрейме. Второй делает то же самое, но без предупреждения.