Оптимизация фреймов
Создав наш первый работающий набор фреймов, можно подумать о его оптимизации.
Уменьшение объема и сложности HTML-кода
Если вы создаете достаточно сложные наборы фреймов, то можете столкнуться с тем, что Dreamweaver не очень оптимально формирует соответствующий HTML-код. В частности (да вы и сами это видели), Dreamweaver не может формировать наборы более чем из двух фреймов. Судя по всему, разработчики программы облегчили себе задачу за счет увеличения объема и сложности получаемого HTML-кода. Конечно, это можно стерпеть, если учесть, как хорошо Dreamweaver справляется со своими задачами в других случаях, но все же проблема остается.
Взгляните на код, сформированный Dreamweaver для нашего набора фреймов (автор слегка сократил его, убрав не относящиеся к делу атрибуты тегов):
<FRAMESET RCWS="*,54">
<FRAMESET RCWS="30,*">
<FRAME NAME="Header" SRC="/HTMLs/Header. htm">
<FRAMESET COLS="100,399">
<FRAME NAME="Nav" SRC="/HTMLs/Nav. htm">
<FRAME NAME="Main" SRC="/HTMLs/Ma in. htm">
</FRAMESET>
</FRAMESET>
<FRAME NAME="Copyright" SRC="/HTMLs/Copyright. htm">
</FRAMESET>
Как видите, Dreamweaver формирует только простые наборы из двух фреймов. А если фреймов в одном простом наборе должно быть больше, используются сложные наборы с многократным вложением.
В частности, нам был нужен набор из трех горизонтальных фреймов. Поскольку Dreamweaver формирует только двухфреймовые простые наборы, он создал два вложенных набора, по два фрейма в каждом. (Соответствующий код выделен полужирным шрифтом.) Давайте немного упростим этот фрагмент кода. У нас получится вот что:
<FRAMESET RCWS="30,*,54">
<FRAME NAME="Header" SRC="/HTMLs/Header. htm">
<FRAMESET COLS="100,399">
<FRAME NAME="Nav" SRC="/HTMLs/Nav. htm">
<FRAME NAME="Main" SRC="/HTMLs/Ma in. htm">
</FRAMESET>
<FRAME NAME="Copyright" SRC="/HTMLs/Copyright. htm">
</FRAMESET>
Если раньше у нас была трехкратная вложенность фреймов, то теперь мы обошлись двукратной, совместив два двухфреймовых простых набора в один трехфреймовый. (Этот фрагмент кода выделен полужирным шрифтом.) Как видите, HTML-код набора фреймов стал проще и компактнее.
Откройте страницу default. htm в окне документа, переключитесь в режим кода и внесите эти изменения, после чего снова переключитесь в режим страницы. Что мы видим? В окне документа ничего не изменилось. Как видите, Dreamweaver правильно обрабатывает простые наборы из любого количества фреймов. Вы можете щелкать по ним мышью в окне фреймов, устанавливать значения параметров в редакторе свойств, заполнять их текстом в окне документа. Более того, если вы выберете набор из трех фреймов, Dreamweaver правильно отобразит его структуру в редакторе свойств (рис. 7.25). Получается, что Dreamweaver все-таки поддерживает простые наборы с количеством фреймов более двух.
Рис. 7.25. Структура набора из трех фреймов |
Приведем несколько советов, которые помогут Web-обозревателю быстрее
Обработать и отобразить наборы фреймов.
1. При указании размеров фреймов (высоты или ширины) по возможности используйте абсолютные (в пикселах), а не относительные (в процентах) единицы измерения. Помните, что для того, чтобы отобразить фрейм, Web-обозревателю нужно сначала получить его абсолютный размер. А если вы указали размер фрейма в относительных единицах, Web-обозреватель должен будет сначала вычислить соответствующий размер своего окна, что займет дополнительное время.
2. Внимательно проверяйте корректность интернет-адресов в атрибутах src тегов <frame>. Мало того, что обращение по несуществующему интернет - адресу занимает много времени, так один фрейм вашего набора останется "пустым". А нет ничего отвратительнее "пустого" фрейма.
3. Задавайте замещение <noframes> только в тех случаях, если оно действительно нужно. Помните, что любой лишний HTML-код замедляет загрузку Web-страницы, увеличивая ее в размерах. Уже говорилось по поводу замещений и повторять это нет смысла.
4. Оптимизируйте HTML-код, порождаемый Dreamweaver.