На главную

Библиотека Интернет Индустрии I2R.ru

Rambler's Top100

Малобюджетные сайты...

Продвижение веб-сайта...

Контент и авторское право...

Забобрить эту страницу! Забобрить! Блог Библиотека Сайтостроительства на toodoo
  Поиск:   
Рассылки для занятых...»
I2R » И2Р Программы » Программирование » Java

Фреймы, JavaScript и управление сайтом (Сборник рецептов)

Я хотел бы продолжить наш разговор о фреймах (хотя сегодняшняя тема будет интересна не только по этой причине)...

Итак, используя фреймовую структуру сайта, странички etc. иногда бывает необходимо отследить, а что-же за документ загружен в соседний фрейм? И сделать что-либо в зависимости от загруженного документа. Обычно это - не загружать его еще раз. Это может здорово сэкономить трафик, что в наших условиях есть очень даже хорошо :-)).

Так вот, когда я занимался с фреймами, помимо других проблем меня посетила и эта. Конечно, тогда решение не представлялось таким прозрачным, как сейчас, поэтому было потрачено немало часов, прежде чем решение пришло. Я думаю, оно не самое лучшее, но, чтобы показать Вам направление, в котором копать, привожу его полностью (кстати, архив лежит по адресу: http://javascripts.boom.ru/subscr/source.zip).

Для начала создадим нужную структуру фреймов:

<frameset cols="200, *"><br> <frame src="menu.htm" name=menu><br> <frame src="text.htm" name=text><br> </frameset>

Теперь создадим файл с меню:


<script>
function check_document(ref)
{
if(parent.text.location.href.lastIndexOf(ref) !=-1)
	{
	alert("Этот документ уже загружен!");
	return;
	}
parent.text.location=ref;
}
</script>

- скрипт надо вставить в раздел HEAD HTML-документа.

- собственно тело документа меню:

<a href="javascript: check_document('text.htm')">Text</a><br> <a href="javascript: check_document('text1.htm')">Another text</a><br> <a href="javascript: check_document('text2.htm')">More another text</a><br>

Вы заметили одну интересную вещь? В результате прямого указания в скрипте целевого фрейма отпадает необходимость указывать атрибут TARGET в ссылке. Более того, если Вы его укажете, работать эта конструкция не будет...

Ну и для полноты картины надо иметь три файла с именами text.htm, text1.htm, text2.htm - желательно с разным содержимым (будет нагляднее виден результат).

Вот Вам и управление содержимым другого фрейма. Со всеми возникающими вопросами типа "А что этот скрипт делает?" отсылаю по адресу: http://javascripts.boom.ru/sprav.htm. Там Вы найдете описание каждого элемента, входящего в функцию.

И еще. Хотелось бы осветить вопрос об автоматическом перенаправлении на другую страницу... Как я понял, в наше время бесплатных хостингов этот вопрос не теряет актуальности. Итак, для того, чтобы перенаправить пользователя по другому адресу (:-))), в раздел HEAD HTML-документа надо вставить следующую конструкцию:

<meta http-equiv="Refresh" content="кол-во_секунд; URL=http://ваш_сайт.ru/главная_страница.htm">

Вместо русских слов надо вставить нужные значения. Причем URL надо указывать вместе с протоколом (http, ftp etc.) и названием страницы, на которую пересылаем. В общем случае рабочая конструкция может выглядеть так:

<meta http-equiv="Refresh" content="5;URL=http://design-star.narod.ru/index.htm">

Эта конструкция через 5 секунд загрузит главную страницу студии Web-дизайна Design Star.

Вот, пожалуй и все на сегодня...

Дмитрий Порохня
JavaScript без границ

Другие разделы
C, C++
Java
PHP
VBasic, VBS
Delphi и Pascal
Новое в разделе
Базы данных
Общие вопросы
Теория программирования и алгоритмы
JavaScript и DHTML
Perl
Python
Active Server Pages
Программирование под Windows
I2R-Журналы
I2R Business
I2R Web Creation
I2R Computer
рассылки библиотеки +
И2Р Программы
Всё о Windows
Программирование
Софт
Мир Linux
Галерея Попова
Каталог I2R
Партнеры
Amicus Studio
NunDesign
Горящие путевки, идеи путешествийMegaTIS.Ru

2000-2008 г.   
Все авторские права соблюдены.
Rambler's Top100