Логотип StingRay

Поделиться
FacebookFacebookRSSTwitterYouTubeВ контактеОдноклассники
FacebookFacebookRSSTwitterYouTubeВ контактеОдноклассники
Силуэт человека

Таблицы против фреймов

Как известно, часть веб-проектов строится на основе фреймов, другая часть – на основе таблиц. Соответственно, есть различные мнения насчёт того, что из этих двух вариантов реализации лучше. Попробуем разобраться с той областью, в которой они конкурируют.

Таблицы появились раньше, если не ошибаюсь, ещё в стандарте HTML 2.0. Соответственно, «осваиваться» производителями обозревателей начали тоже раньше. Однако именно таблицы нередко представляют наибольшую сложность для изучающих язык HTML, ввиду их мощности и, как следствие, сложности. Но если всё же заняться ими вплотную, то очень скоро всё выстроится в стройную теорию и будет понятно.

Фреймы появились позднее и, кажется, впервые у Netscape, чей официальный сайт первым был реализован на фреймах, после того как их поддержка появилась в тогдашнем Netscape Navigator. Правда, позднее, от фреймов они сами же и отказались в пользу таблиц, по крайней мере, на собственном сайте. Другие производители потихоньку также стали поддерживать фреймы, но проблема их неподдерживаемости некоторыми обозревателями или их старыми версиями существовала довольно продолжительное время, поэтому всегда приходилось помнить о тегах <NoFrames></NoFrames>. Однако сегодня эта проблема уже так остро не стоит, ввиду сильного смещения рынка обозревателей в сторону Microsoft Internet Explorer довольно новых версий (начиная с 4.0).

Таблицы – это не просто великолепное средство для эффективного форматирования страниц, это, прежде всего, способ создания психологического комфорта пользователя, привыкшего работать с бумажными документами, в том смысле, что при прокрутке страницы, построенной на таблицах, в обозревателе прокручивается вся страница, как единое целое, как лист бумаги. Правда, при этом есть определённое неудобство, связанное с одновременной прокруткой элементов управления панели навигации. Кроме того, при переходе к другой странице она перегружается полностью, хотя некоторые её части (например, панели навигации) могут не меняться; при загрузке же таблица не может быть отображена ранее, чем будет считано её HTML-содержимое (иначе система не сможет понять её структуру), то есть таблицу нельзя «почитывать по мере загрузки», что не совсем приятно, когда загрузка затягивается.

Фреймы устраняют необходимость перегружать все области клиентской части обозревателя, но это уже становится не похоже на бумажный документ, ибо отдельные части прокручиваются независимо друг от друга. Однако при смене разрешений экрана пользователя на другие, чем то, под которое страница была оптимизирована, вид может сильно меняться, особенно если речь идёт о переходе на более низкие разрешения, когда страница начинает «пестрить» появившимися полосами прокрутки (если таковые предусмотрены) её различных частей, либо не отображать нужную информацию вообще (ели прокрутка запрещена); в плане адаптируемости к различным разрешениям таблицы более удобны.

«Табличные» страницы обычно без проблем поддаются одиночному сохранению, тогда как страницы с фреймами нередко сохраняются только в виде бессмысленного <FrameSet></FrameSet>. Решение, конечно, есть: выбирать текущий фрейм, открывать его исходный текст в «Блокноте», уже откуда сохранять в виде HTML-файла; однако такие манипуляции неподвластны простому пользователю. Последние версии Microsoft Internet Explorer вроде как с этим борются, но не всегда успешно.

С точки зрения программиста, фреймы являют собой средство для уменьшения размера HTML-страниц за счёт выделения их «постоянной составляющей», например, навигационной панели, в отдельный фреймовый файл. Благодаря этому, ту же навигационную панель проще изменять – это не потянет за собой изменения многих других страниц. Однако сложная фреймовая структура может приводить стороннего разработчика в уныние, а число файлов (для простейшей структуры из двух фреймов мы имеем как минимум 3 файла: обрамляющий <FrameSet></FrameSet> и 2 информационных) – повергать в ужас.

С фреймами обычно «плохо дружат» поисковые сервера, точнее, их индексирующие роботы, имеющие свойства не индексировать фреймовую страницу далее обрамляющего файла <FrameSet></FrameSet>. Кроме того, при открытии страницы с фреймами обозреватели, в частности, самый распространённый Microsoft Internet Explorer порождает отдельные копии себя для обработки каждого фреймового файла, что при сложной фреймовой структуре моет привести к незначительному снижению производительности. Ввиду этой же особенности могут некорректно работать некоторые счётчики, а именно срабатывать не на загрузку всей страницы, а на загрузку каждого фреймового файла (такой счётчик при просмотре простейшей структуры из двух фреймов срабатывает 3 раза).

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

P.S. Статья впервые была опубликована на сайте WebClass.ru.

Добавьте свой комментарий или войдите, чтобы подписаться/отписаться.
Имя: OpenId
Результат операции:
Предпросмотр Улыбка Подмигивание Дразнит Оскал Смех Огорчение Сильное огорчение Шок Сумасшествие Равнодушие Молчание Крутизна Злость Бешенство Смущение Сожаление Влюблённость Ангел Вопрос Восклицание Жирный Курсив Подчёркивание Зачёркивание Размер шрифта Гиперссылка Цитата
Загрузка…