Автор статьи: Мельников Михаил
Для чего применяются фреймы? Как правильно с ними работать? Когда их лучше избегать и какие подводные камни могут подстерегать нас на этом пути?
Нужно ли использовать фреймы?
Для начала давайте решим, для чего используются фреймы. Они появились еще во второй версии Netscape Navigator-а и предназначались для облегчения навигации при создании страничек (так тогда казалось).
Техника использования фреймов заключается в том, что все окно броузера делится на несколько областей, в каждую из которых можно загрузить независимую страничку. Кроме этого, был введен механизм, позволяющий управлять любой страничкой из любого окна. Например, можно в одном окне организовать меню сайта, а в другом показывать его содержимое. Причем, щелчок по ссылке в окне меню открывал страничку совсем в другом окне. Такое построение сайта встречается чаще всего, но ничто не мешает нам сделать не два фрейма, а, например, 3, 4, 5… и т.д. Но пока не будем торопиться с обсуждением механизма работы фреймов, а поговорим об их недостатках и уместности
применения.
Основные недостатки сайта, построенного с применением фреймов, следующие:
В каких случаях уместно применять фреймы?
Честно говоря, есть очень мало задач, которые нельзя решить без использования фреймов. Первоначально введенные для того, чтобы облегчить создание механизма навигации по сайту, на данный момент они, по-моему, ясно показали, что не справляются с этой задачей. Для этой цели гораздо лучше подходит технология SSI.
Тем не менее, в каких случаях оправдано их применение?
Но есть один удачный способ применения фреймов — создание системы помощи для сложных сайтов. В этом случае очень удобно открывать новое окно, где уже и используется фреймовая структура. Это очень похоже на встроенную систему помощи Windows.
Механизм работы фреймов
Если все же решено применять фреймы, то давайте разберемся с тем,
как правильно писать HTML-код и работать с ними.
Любая страничка, содержащая фреймы, начинается с написания специальной странички-контейнера, которая сама не показывается, но содержит в себе указания для организации фреймовой структуры и ссылок на участвующие файлы. Вот, как она выглядит:
index.htm — страничка контейнер
ваш броузер не поддерживает фреймы, пожалуйста, обновите его.
И сразу напишем код для страничек, входящих в фреймовую структуру.
left.htm — страничка, содержащая меню
topic #1
topic #2
topic #3
topic #4
right.htm — страничка, в которой будут отображаться основные статьи сайта.
Эта страничка будет грузиться по умолчанию, и
на ней обычно размещают приветственный текст.
Как можно заметить, страничка-контейнер отличается от обычной лишь тем, что вместо тега
мы используем тег