Фреймовый сайт не вызывает у пользователя психологического напряжения
в момент очищения ВСЕГО экрана после щелчка по ссылке, что тоже важно, т.к.
создаётся впечатление непрерывной работы с сайтом.
Итак, наряду с недостатками есть и достоинства, которые не позволяют нам отбросить
эту технологию как бесперспективную. Оказывается, можно справиться с главными
недостатками фреймов. Конечно, решение не является универсальным, но часто бывает
незаменимо.
Главная проблема, которую надо решить — целостность отображения фреймового
сайта при переходе к нему по ссылке из поисковика. Для этого надо создать
небольшой файл с программой, написанной на языке JavaScript, в который передаётся
URL, по которому загружается страница. Скрипт перезаписывает загруженный документ
описанием фреймов с именами DATA и NAV.
frames.js
function CreateFrames(URL)
{ if (window.name != "DATA") // Проверка на загружаемость файла
в "неправильном" месте
{ document.write("<frameset cols='20%,*'>")
document.write("<frame name='NAV' src='nav.html'>")
document.write("<frame name='DATA' src='" + URL + "?'>")
document.write("</frameset>")
}
}
Знак вопроса нужен для того, чтобы браузер получил данные с сервера, а не
вывел только что загруженную страницу.
Далее на каждой странице надо поместить между тегами <head></head>следующий
код:
<script language="JavaScript" src="frames.js"></script>
<script language="JavaScript">
CreateFrames(document.URL);
</script>
Корректную загрузку всех страниц по ссылке с атрибутом target в данной ситуации
обеспечит следующая строка:
<a href="url.html?" target="DATA">Документ</a>
Знак вопроса обязателен по уже известной причине.