Смекни!
smekni.com

Курс лекций по Информатике 2 (стр. 7 из 7)

<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=&bsol;"index.html&bsol;">кликните здесь.</A>");

// -->

</SCRIPT>

Илитакой:

<SCRIPT LANGUAGE="JavaScript">

<!--

if (self.parent.frames.length == 0)

self.parent.location="index.html";

// -->

</SCRIPT>

Первый скрипт выводит предложение перезагрузить страницу, если она была загружена не в фрейме. Второй делает то же самое, но без предупреждения.