Почти все
авторы, профессионально писавшие о веб-дизайне и
создании сайтов, выражали свое более или менее
отрицательное отношение к фреймам - Иван Бойко
так вообще является Official Frame Hater’om
(фреймоненавистником). Большинство же начинающих
наоборот очень любят использовать на своих
страницах фреймы, причем в единственном варианте
- слева создается фрейм с навигационной панелью,
а справа - с открывающимся по ссылкам из левого
фрейма страницами (как лаконично такая структура
описана в первом эпиграфе!). Когда говорят о
удобстве таких фреймов имеют в виду, что не
требуется перезагрузка навигационного фрейма,
что дескать существенно увеличивает скорость
загрузки страницы. Но, если вы создадите такую же
навигационную панель без фреймов, то
использованные в ней изображения при первой
загрузке попадут в кэш броузера и при повторной
загрузке будут быстро загружаться с локального
диска.
А за что же фреймы
не любят профессионалы? Наиболее бросающаяся в
глаза и основная причина - из-за облика их
ужасного. В большинстве случаев при
использовании фреймов посреди окна появляются
линейки прокрутки, которые портят практически
любой дизайн. Если же запретить выведение линеек,
то размер фрейма должен быть ограничен
минимальным возможным окном броузера у
пользователя - если фрейм будет содержать что-то
еще, то добраться до этого не будет никакой
возможности.
Если на вашем сайте
фреймы действительно необходимы и, главное, вы
можете добиться, чтобы они правильно
показывались без линеек прокрутки - то вперед,
никаких таинственных метафизических запретов на
использование фреймов нет. Броузеры, не
поддерживающие фреймы, вымерли примерно в одно
время с мамонтами, так что о них можно не
вспоминать. В качестве иллюстрации разумного
использования фреймов предлагаю зайти на один из
самых привлекательных сайтов Рунета - Weekend, созданный студией Город-Инфо. Поначалу можно и не
догадаться, что тут есть фреймы.
Но из-за некоторых
особенностей фреймов добиться их корректного
показа в различных броузерах и при различных
разрешениях экрана весьма непросто. Если задать
размер фрейма в процентах, то при разных
разрешениях будет получаться совершенно
различные (часто просто ужасающие) картины. Если
же задавать размер жестко в пикселях, то Netscape и IE,
как обычно, часто понимают эти значения
несколько по-разному. Другая проблема связана с
поисковыми системами - хотя сейчас большинство
роботов умеют лазить по фреймам и индексировать
соответствующие страницы, при выдаче
результатов поиска откроется не вся система
фреймов, а единственная страница, обычно
лишенная какой-либо навигации.
С фреймами связана
еще одна проблема - некоторые люди настолько
ленивы, что не хотят тратить свои силы даже на
воровство, а просто вставляют чужие страницы в
качестве одного из фреймов своего сайта.
Бороться с этим не просто, а очень просто -
вставьте в заголовок html-файла скрипт из двух
строк:
if (self.parent.frames.length != 0)
self.parent.location=document.location;