Поисковые системы
Программы SEO
Оптимизация сайтов
Статьи по seo
Реклама в интернет
Интернет-маркетинг
Юзабилити
Яндекс
Google
Разработка сайта
Веб дизайн
HTML
HTML-редакторы
Programming
MySQL
Apache
XML/WML
SSI и CSS
Статьи по web
Хостинг

HTML / Фреймы и JavaScript



Многие начинающие web-мастера используют при оформлении своих сайтов (страничек и пр.) фреймы. Лично я этого не одобряю (но это уже другая история), но когда-то и сам пользовался ими.

И какие-же у меня возникали тогда проблемы?
Первая - это когда одним щелчком по ссылке нужно обновить сразу два (три, да сколько угодно) фрейма. Вторая - это проблема при работе с поисковыми машинами.

А теперь поподробней...
Допустим, у Вас есть два фрейма, один в левой части с меню, другой с содержанием страницы. И вам понадобилось, чтобы при щелчке на ссылке под названием, например, "Статьи", обновилось содержимое и фрейма меню, выведя туда файл с более развернутым меню, и, естественно, содержимое фрейма с содержанием (извините за каламбур).

В общем случае Ваша фреймовая конструкция может выглядеть следующим образом:

<frameset cols="150, *">
<frame src="menu.htm" scrolling=auto name="menu">
<frame src="text.htm" scrolling=auto name="text">
</frameset>

То есть заметьте, что для того, чтобы решить поставленную задачу, совсем необязательно задавать фреймам имена... Хотя имена все равно нужны для установки цели ссылки (атрибут TARGET).

Далее - пример ссылки, при щелчке на которой происходит обновление наших двух фреймов.

<script language="JavaScript">
<!--
function update_all()
{
parent.frames[0].location = "new_menu.htm";
parent.frames[1].location = "new_text.htm";
}
// -->
</script>

<a href="javascript:update_all()">Click me!</a>

И вот теперь-то и происходит волшебное обновление двух фреймов. Причем, заметьте, можно было сделать так, чтобы наши два фрейма обновлялись из третьего. Еще можно было-бы передавать имена загружаемых файлов в функцию и пр. Но этот пример - только иллюстрация возможностей по работе с фреймами.

И еще: когда Вы индексируете свой сайт, использующий фреймы, не замечали одной проблемы? Человек, придя к Вам с поисковика, попадает не во фреймовую структуру, а просто на отдельную страницу. Почему? Поисковые машины индексируют страницы, и им неведома структура фреймов Вашего сайта. Для того, чтобы обойти эту проблему, можно воспользоваться следующие конструкцией для каждой страницы Вашего сайта (кроме главной, содержащей описание набора фреймов):

<script language="JavaScript">
<!--
function check_frames()
{
if (parent.frames.length==0)
parent.location="index.htm";
}
// -->
</script>

body onLoad="check_frames()" - эта конструкция тела документа.

Конечно, и эту конструкцию можно усложнять и усовершенствовать, но это уже дело Ваших рук.

Автор: Дмитрий Порохня


seoweb.ru