5. Загрузка документа в полное окно
6. Загрузка документа в текущий
фрейм
Этот документ является полным HTML-документом, имеющий разделы и и, в свою очередь, имеет ссылки на файл с именем test.htm, располагающийся в том же самом каталоге, что и файл frame_a.htm.
Текст файла test.htm крайне прост:
Тестовый документ
Текст тестового документа
Файл frame_a.htm, содержимое которого загрузилось во фрейм "А", имеет шесть ссылок на один и тот же файл test.htm с различным значением параметра TARGET.
Рассмотрим действия, которые будут происходить при реализации этих ссылок. Первая ссылка со значением TARGET="B" будет загружать файл test.htm во фрейм с именем "в". Заметим, что после реализации любой из шести ссылок браузер Netscape автоматически окрасит в другой цвет все шесть, так как они указывают на один и тот же файл. Microsoft Internet Explorer отмечает только действительно реализованные ссылки.
Вторая ссылка выполнит те же действия для фрейма "C". Изначально во фреймах "B" и "C" ничего нет (точнее загружено содержимое пустого файла empty.htm). Реализация первой и второй ссылок заполнит эти фреймы.
Третья ссылка со значением TARGET=MD" приведет к образованию нового окна браузера с именем "D" и загрузке в него файла test.htm. Заметим, что форма записи этой ссылки ничем не отличается от первых двух. Различие состоит в том, что в первых двух случаях ссылки были даны на существующие фреймы, имена которых были определены в файле со структурой фреймов, а в данном случае ссылка дана на несуществующий объект. Если данная ссылка будет выполнена хотя бы один раз, то окно с именем "D" будет образовано и повторный переход по ссылке лишь перезагрузит данные в существующее теперь окно "D". Конечно, пользователь может в любой момент его закрыть и вновь образовать выбором данной ссылки. На рис. 5.7
показана ситуация после того, как первые три ссылки были реализованы. Напомним, что расположение и размеры окон на экране определяются пользователем.
Рис. 5.7
.
Ситуация, полученная после последовательной реализации первых трех ссылок, имеющихся в левом фрейме
Пятая ссылка со значением TARGET="_top" загрузит документ в полное окно вместо всей фреймовой структуры. При таком значении параметра TARGET
новое окно не образуется. Возврат к фреймовой структуре возможен нажатием кнопки Back.
Примечание
Имена фреймов или окон браузера не следует путать с названиями загружаемых документов. Имена фреймов при просмотре нигде не видны, они требуются только для организации взаимодействия и поэтому скрыты от пользователя. Увидеть их можно только при просмотре исходного текста HTML-файлов.
Совет
Напомним, что названия загружаемых документов задаются тэгом . Если документ загружен в полное окно, то его название выдается в самой верхней части окна браузера. Если же документ загружается во фрейм, то его название нигде не отображается, а в верхней части окна по-прежнему будет располагаться название документа, содержащего описание фреймовой структуры документа. Поэтому названия документов, предназначенных для просмотра во фреймах, не имеют большого значения. Например, на рис. 5.7
один и тот же документ загружен во фреймы "в" и "С", а также в отдельное окно с именем "D", при этом название документа видно только в окне "D". Тем не менее, вряд ли стоит рекомендовать опускать названия документов, загружаемых во фреймы, так они могут появиться, например, в списке закладок (Bookmarks) при создании закладки на документ, расположенный во фрейме или списке просмотренных документов.
Рассмотрим еще один интересный пример организации взаимодействия между фреймами и окнами браузера. Пусть имеется текст основного загружаемого HTML-документа:
Использование имен окон
Документа, имеющего
фреймовую структуру, в новое окно
Использование фреймов
Обратите внимание, что если основной документ является стандартным HTML-документом, то загружаемый по ссылке из основного документа файл frame.htm содержит структуру фреймов и в свою очередь ссылается на файл empty.htm.
После загрузки основного документа окно браузера будет иметь вид, показанный на рис. 5.8
(левое окно). Весь документ состоит из двух ссылок. Выполним переход по первой ссылке. Будет образовано новое окно с именем "D", в котором появится текст файла test.htm (рис. 5.8
, правое окно). Повторение этой ссылки будет лишь перезагружать данные в окне "D".
Рис. 5.8.
Пример окон взаимодействующих фреймов
Выполним переход по второй ссылке. Образуется новое окно без имени, в которое загрузится файл frame.htm, определяющий два фрейма с именами "С" и "D" (рис. 5.8, нижнее окно). В обоих фреймах ничего нет (точнее загружен пустой документ empty.htm). Обратим внимание, что теперь имеется открытое окно с именем "D" и окно с фреймами, один из которых также имеет имя "D". Выполним снова переход по первой ссылке. В отличие от первого случая загрузка данных будет осуществляться не в окно "D", а во фрейм с именем "D".
Результат всех описанных действий показан на рис. 5.8.
Примечание
Появление открывающихся окон и их содержимое может иногда зависеть даже от порядка действий пользователя. Работа с документами, поведение которых трудно предсказуемо, обычно вызывает справедливое раздражение пользователя и говорит о недостаточной продуманности структуры данных разработчиками.
Если же изменить порядок действий, т. е. сначала выполнить вторую ссылку, а затем первую, то окно с именем "D" вообще не появится! Это произойдет потому, что после реализации второй ссылки образуется фрейм с именем "D" и для первой ссылки не будет нужды открывать новое окно.
Этот пример вовсе не является образцом для подражания, а лишь показывает возможную сложность организации взаимодействия. Напротив, нужно стараться без особой нужды не усложнять организацию данных, тем более не создавать ситуаций, в которых результат меняется в зависимости от порядка действий пользователя.
Совет
Избегайте коллизий в именах фреймов и окон. Хотя формально не запрещено иметь фреймы с одинаковыми именами, однако это может привести к путанице.
Предупреждение
Имена фреймов и окон сравниваются с учетом регистра символов. Так, например, фреймы с именами "frame_1" и "Frame_1" будут различны.
Примеры более сложного взаимодействия между фреймами
Выше были рассмотрены достаточно простые типовые примеры взаимодействия между фреймами. Были рассмотрены задачи создания новых окон, замены содержимого отдельных фреймов, а также выдачи документа в полное окно с разрушением всей структуры фреймов. Даны примеры использования задаваемых имен фреймов, а также зарезервированных имен "_blank", "_self" и "_top". Использование последнего зарезервированного имени "_parent" более сложно и будет описано ниже.
В данном разделе будут рассмотрены более сложные варианты взаимодействия между фреймами. В частности, будет реализована замена содержимого нескольких смежных фреймов.
Одним из наиболее часто встречающихся вариантов применения фреймов, который уже упоминался в данной главе, является случай двух фреймов, один из которых содержит список ссылок, а в другой загружаются сами документы (рис. 5.1).
Попробуем расширить постановку задачи. Пусть необходимо отображать на экране содержимое достаточно большого документа, состоящего из глав, разделенных на разделы. Типичным примером служит техническая литература по какой-либо тематике. Опишем желаемое представление такого документа на экране. Разобьем экран на три фрейма, в одном из которых будет располагаться список глав книги, во втором - перечень разделов выбранной главы, а в третьем - текст выбранного раздела. При выборе ссылки во втором фрейме должно меняться содержимое третьего фрейма. Реализация этого требования тривиальна. При выборе ссылки в первом фрейме должно одновременно изменяться содержимое как второго, так и третьего фрейма. На первый взгляд реализация этой задачи на языке HTML невозможна (без применения программирования на языке JavaScript или др.), так как при выполнении ссылки загружается только один документ, а не два или более. Тем не менее, решение данной задачи вполне возможно.
Покажем возможную схему решения такой задачи на простом примере. Пусть требуется отобразить на экране три фрейма и загрузить в них некоторые документы. Поставим задачу создать в каждом из этих фреймов ссылки, реализация которых, например, меняла местами содержимое двух фреймов. Пусть первый фрейм занимает 50% ширины окна и 100% высоты и располагается с левой стороны окна. Правая половина окна делится по горизонтали также пополам и содержит два других фрейма. Такая структура описывается следующим кодом:
С помощью данного HTML-кода будет создана требуемая структура, однако решение поставленной задачи невозможно. Необходимо вынести вложенную структуру в отдельный файл, а в данном HTML-коде описать фрейм, ссылающийся на созданный файл. Тогда текст исходного документа будет иметь вид:
Пример взаимодействия между фреймами
Созданный файл с вложенной структурой имеет имя
1_2.htm и содержит следующий код:
1-2
На первый взгляд совершенно ничего не изменилось. В обоих случаях имеется три фрейма, в которые загружаются документы left.htm,
1.htm и 2.htm соответственно. Однако при взаимодействии фреймов различие проявится. Если в первом случае ни у одного из фреймов нет фрейма-родителя, то во втором случае для двух фреймов родительским будет фрейм с именем "Two_Frames". Поэтому если в любом из двух фреймов применить ссылку со значением параметра TARGET, равным "_parent", то результат будет различным для первого и второго случая. Для первого случая реализация такой ссылки приведет к загрузке документа в полное окно с замещением существующей структуры фреймов. Здесь проявляется свойство значения "_parent", которое при отсутствии фрейма-родителя действует как "_top". Во втором случае будет замещен фрейм с именем "Two_Frames", который занимает правую половину экрана и по существу состоит из двух фреймов.
Второй случай формально отличается от первого также наличием фрейма с именем "Two_Frames", к которому могут быть обращены ссылки. Как раз эта особенность и позволит нам решить поставленную задачу.
Приведем содержимое файла left.htm, который изначально загружается в первый из рассматриваемых фреймов:
Левый фрейм
документов в двух фреймах, расположенных в правой части окна.
Выберите вариант расположения документов:
Вариант
1-2
Вариант
2-1
2-1
Заметим, что текст файлов 1_2.htm и 2_1.htm отличаются только порядком ссылок на файлы
1.htm и 2.htm.
Рассмотрим теперь построение документа, загруженного в левый фрейм. В нем имеется две ссылки с параметром TARGET="Two_Frames". Реализация любой из этих ссылок создает на месте расположения фрейма "Two_Frames" (это правая половина экрана) два фрейма с загрузкой документов
1.htm и 2.htm в том или ином порядке. Таким образом при выборе варианта 1-2 в верхний правый фрейм загружается документ
1.htm, а в нижний правый - 2.htm. При выборе варианта 2-1 порядок документов меняется. В итоге поочередный выбор вариантов создает впечатление того, что документы в двух фреймах меняются местами. Именно такого эффекта мы и стремились достичь (рис. 5.9).
Содержимое документов 1.htm и 2.htm для описанного примера не имеет значения. Тем не менее, для примера, вместо тривиальных документов создадим документы со ссылками, реализующими те же действия.
Текст файла 1.htm:
Документ 1
Документ 1
Вариант
1
-2
Вариант
2-1
Файл 2.htm отличается от 1.htm только заголовком.
Здесь имеются две ссылки со значением TARGET="_parent", которые обращены к родительскому фрейму. Эти ссылки могли бы быть записаны и с явным указанием имени фрейма-родителя, т. е. TARGET="Two_Frames", однако использование неявного указания имени обычно более удобно. Например, если из левого фрейма (документ left.htm) исключить ссылки, то можно было бы опустить имя фрейма "Two_Frames", заданное при описании основной фреймовой структуры. При этом был бы создан фрейм без имени, но ссылки из документов
1.htm и 2.htm со значением TARGET="_parent" по-прежнему работали бы правильно.
Совет
По возможности используйте неявное указание имен фреймов. Например, " parent"," top"," self" вместо задания конкретных имен.
Рис. 5.9.
Окна взаимодействующих фреймов с эффектом смены загружаемых документов
Различие между фреймами и окнами браузера
При работе с фреймами возникает вопрос о принципиальной разнице между организацией фреймовой структуры окна браузера и созданием нескольких окон. На первый взгляд может показаться, что вполне можно было бы обойтись возможностями создания нескольких окон, поскольку работа с окнами и фреймами очень похожа. Каждый фрейм требует загрузки отдельного документа, имеет возможность независимой прокрутки содержимого и может изменяться по командам из других фреймов. Эти свойства фреймов аналогичны свойствам окон браузера. При табличной организации данных добиться такой свободы действий невозможно.
Однако между фреймами и окнами есть существенная разница. При фреймовой организации деление области просмотра на фреймы выполняет сам HTML-документ, указывая размеры и их расположение. Пользователь при просмотре может изменить размеры фреймов, если это не запрещено в описании их структуры. Расположение окон определено общими правилами работы с системой Windows - пользователь может распахнуть любое окно на весь экран, свернуть его в пиктограмму или произвольным образом задать размеры и расположение. Окна, в отличие от фреймов, могут перекрываться. Такое богатство выбора имеет свою оборотную сторону - необходимо каждый раз вручную располагать окна на экране и изменять их размеры для достижения оптимального варианта просмотра. В случае фреймов оптимальный вариант соотношения размеров обычно задается разработчиком в описании фреймовой структуры и часто не нуждается в изменении.
Совет
Хотя фреймы и не могут предоставить всех возможностей работы с отдельными окнами, их рациональная организация создаст для пользователя максимум удобств.
Работе с окнами свойственны и другие недостатки. Создание каждого окна требует немало памяти. По существу в Netscape каждое окно представляет собой еще одну копию браузера и снабжено полным набором кнопок и меню. Та же ситуация характерна и для Microsoft Internet Explorer.
Заметим, что организация отдельных окон в браузерах выполнена по-разному. Создание нового окна с документом приводит к появлению отдельной задачи в системе Windows, в чем можно убедиться при просмотре списка запущенных задач. Поэтому переключение между окнами может выполняться так же, как и переключение между разными задачами, например, нажатием сочетания клавиш +.
Во многих популярных Windows-приложениях существует понятие окна с документом (document window).
В качестве примера можно привести текстовый процессор Microsoft Word или программу работы с графическими изображениями Paint Shop Pro и многие другие. В каждом из таких приложений допустимо одновременное использование нескольких окон с данными и, как правило, существует меню Window, в котором приводится список окон и дается возможность переключения между ними. Образование нового окна в таких приложениях обычно происходит при открытии существующего файла или создании нового. Однако в этих программах при создании нового окна не образуется новая работающая задача.
В Netscape также имеется меню Window, в котором приводится список существующих окон. (В версиях Netscape 4.x эта возможность предоставляется пунктом Window меню Communicator.) Вернемся к рис. 5.8. В этом примере одновременно открыто три окна, каждое из которых по существу является отдельным браузером. Однако для пользователя все они являются окнами одного браузера, которые могут взаимодействовать друг с другом. В любом из этих окон можно открыть меню Window
и увидеть список трех окон. На рис. 5.10 показана ситуация, когда это сделано для нижнего окна.
Рис. 5.10.
Открытие окон фреймов в браузере Netscape
Каждое из окон может быть закрыто отдельно (командой Close из меню File). Для завершения работы с браузером в любом из окон можно открыть меню File и выполнить пункт Exit (рис. 5.11).
Если при этом было открыто несколько окон, то все они будут закрыты, но перед этим появится предупреждающее сообщение (рис. 5.12).
Каждое окно браузера может иметь свои установки (правда не все). Посмотрите на рис. 5.11. Открыто два окна, одно из которых разбито на три фрейма. В два из трех фреймов, а также в отдельное окно загружен один и тот же документ. Возможность независимой настройки параметров каждого окна позволяет по-разному отобразить один и тот же документ. В приведенном примере размер шрифта документа в одном окне больше, чем в другом. Такой эффект достигнут установкой различных кодировок каждого из окон (пункт Document Encoding меню Options или пункт Character Set меню View для версии 4.x), причем обе кодировки используют один и тот же шрифт, но
разного размера. Изменение же любого пункта меню General Preferences воздействует на все окна.
Рис. 5.11.
Завершение работы с браузером Netscape
Рис. 5.12.
Предупреждение о закрытии окон в браузере Netscape
Дополнительные возможности браузеров
Все перечисленные выше теги описания фреймов с соответствующими параметрами практически одинаково реализованы в браузерах Netscape и Microsoft Internet Explorer, однако каждый из этих браузеров позволяет дополнительно использовать свои уникальные теги или параметры.
Возможности браузера Netscape
Браузер Netscape, начиная с версии 3.0, позволяет использовать три дополнительных параметра: BORDER, FRAMEBORDER и BORDERCOLOR. Параметр BORDER применяется только в тэге . Значение параметра BORDER определяет толщину рамок между фреймами в пикселах.
Параметр FRAMEBORDER может применяться как в тэге , так и в тэге и определяет наличие рамки между фреймов. Этот параметр может принимать значение Yes или NO. Если параметр записан в тэге , то его действие распространяется на все фреймы этой группы. Для отдельного фрейма значение может быть переопределено. По умолчанию принимается значение Yes.
Заметим, что параметры BORDER и FRAMEBORDER работают независимо друг от друга. Например, если в качестве значения FRAMEBORDER задано NO, а для BORDER задано значение, отличное от нуля, то рамка между фреймами прорисовываться не будет, но место под нее, определенное значением параметра BORDER, все равно будет отведено.
Параметр BORDERCOLOR может применяться как в тэге , так и в тэге и определяет цвет рамки, который может задаваться названием цвета или его шестнадцатеричным представлением.
Приведем пример:
Первая строка этого HTML-кода задает три фрейма, между которыми оставлено место под рамку толщиной 10 пикселов (рис. 5.13).
Рис. 5.13.
Прорисовка рамок между фреймами в браузере Netscape
Между окнами фреймов "А" и "в" рамка не прорисовывается благодаря значению NO параметра FRAMEBORDER, тем не менее для рамки определен красный цвет (red). Для последнего фрейма "с" значение FRAMEBORDER задано равным Yes и переопределяет значение, установленное в первой строке. Поэтому между фреймами с именами "в" и "С" все-таки будет нарисована рамка красного цвета и толщиной 10 пикселов.
Примечание
Если рамки между фреймами не прорисовываются, то браузер Netscape не позволит изменять размеры фреймов путем перетаскивания рамок мышью даже при отсутствии параметра NORESIZE. Для Microsoft Internet Explorer ситуация иная.
Заметим, что фреймы без рамок используются не так уж и редко. Следует помнить, что отсутствие рамок не запрещает появление полос прокрутки (рис. 5.14).
Рис. 5.14.
Полосы прокрутки во фрейме без рамок
Возможности браузера Microsoft Internet Explorer
Браузер Microsoft Internet Explorer разрешает использовать параметр FRAMEBORDER для тех же целей, как было описано выше, но не позволяет задавать цвет и толщину рамок. Однако в качестве значения параметра FRAMEBORDER допустимо использовать только числовое значение "О" для отмены прорисовки рамки или отличное от нуля числовое значение для прорисовки рамки.
Различие в правилах задания значений параметра FRAMEBORDER для разных браузеров весьма неприятно. Попробуйте, например, задать FRAMEBORDER=Yes. Такая запись верна для Netscape, а для Microsoft Internet Explorer приведет к отсутствию рамки. Предыдущий пример (рис. 5.13) при просмотре в Microsoft Internet Explorer будет представлен без рамки.
Совет
Можно рекомендовать всегда записывать значение параметра FRAMEBORDER в числовом виде, например, FRAMEBORDER=0. Это соответствует правилам записи параметра для Microsoft Internet Explorer, но нарушает правила для Netscape (хотя и верно воспринимается последним).
Примечание
Если рамки между фреймами не прорисовываются, то браузер Microsoft Internet Explorer (в отличие от Netscape) при отсутствии параметра NORESIZE позволит "наощупь" изменять размеры фреймов путем перетаскивания рамок мышью. Поймать место, где должна находиться рамка, можно по изменению формы указателя мыши.
Браузер Microsoft Internet Explorer разрешает использовать дополнительный параметр FRAMESPACING, записываемый в тэге , значение которого определяет количество пикселов между фреймами, оставляемое пустыми.
Приведем пример, результат отображения которого приводится на рис. 5.15.
Изменение расстояния между фреймами
Рис. 5.15.
Пустое пространство между фреймами в Microsoft Internet Explorer
Примечание
К сожалению, во многих описаниях языка HTML ошибочно указывается, что параметр FRAMESPACING должен использоваться в тэге . Microsoft Internet Explorer допускает использование этого параметра только в тэге .
Плавающие фреймы
Браузер Microsoft Internet Explorer разрешает использовать уникальный тег , который реализует концепцию плавающих фреймов. В отличие от обычных фреймов описание плавающих фреймов может встречаться в тексте обычного HTML-документа. Браузеры, не поддерживающие тег , вместо фрейма будут отображать любую информацию, записанную между
и . В ТЭГС применяются
точно такие
же
п
арамет
ры, как и в тэге описания обычных фреймов . Единственным исключением является параметр NORESIZE, применение которого бессмысленно, так как размер плавающих фреймов в любом случае не может быть изменен пользователем при просмотре документа.
Кроме того, для задания расположения и размеров плавающего фрейма в документе можно использовать следующие дополнительные параметры: WIDTH, HEIGHT, HSPACE, VSPACE, ALIGN. Их назначение и порядок использования совпадает с соответствующими параметрами для встроенных изображений, которые задаются тэгом .
Приведем пример использования плавающих фреймов:
Использование плавающих фреймов
Пример использования концепции плавающих фреймов
Ваш браузер не позволяет отображать плавающие фреймы
Браузер Microsoft Internet Explorer - первый из браузеров (и пока
единственный), который поддерживает так называемые "плавающие" фреймы.
Такие фреймы могут размещаться в любом месте экрана так же, как
графические изображения и таблицы.
Фрейм справа от данного текста размещен на странице с помощью
специального тега . При создании фрейма было указано
выравнивание вправо.
Результат отображения данного примера браузером Microsoft Internet Explorer показан на рис. 5.16. Браузеры, не поддерживающие концепцию плавающих фреймов, для данного примера вместо отображения содержимого документа float.htm выдадут текст "Ваш браузер не позволяет отображать плавающие фреймы".
Рис. 5.16.
Плавающий фрейм в Microsoft Internet Explorer
Отметим, что концепция плавающих фреймов близка по идеологии к встроенным изображениям или таблицам. Здесь в нужное место HTML-документа целиком встраивается другой HTML-документ.
Совет
В настоящий момент применение плавающих фреймов ограничивается единственным браузером - Microsoft Internet Explorer версии 3.0 и выше. Следует помнить, что пользователи других браузеров (в частности, Netscape) не смогут увидеть содержимого плавающих фреймов.
Средства создания документов, содержащих фреймы
HTML-документ, содержащий фреймы, как и любой другой документ, может быть создан или отредактирован вручную при помощи любого доступного текстового редактора. Большинство специализированных HTML-редакторов либо не имеют возможностей визуального создания фреймов, либо обладают весьма ограниченными возможностями. Существует несколько специальных редакторов, которые ориентированы на создание фреймов. Кратко опишем возможности некоторых из них.
Редактор фреймов FrameGang
Одним из таких редакторов является утилита FrameGang, разработанная австралийской фирмой Sausage Software, которая более известна своим популярным HTML-редактором HotDog.
Информацию об этом программном продукте можно получить по адресу
http://www.sausage.com
, а также из сборника программных продуктов для Интернета (по адресу
http://www.tucows.com
или любому другому из нескольких десятков серверов-зеркал, разбросанных по всему миру).
Утилита FrameGang является дополнением к любому HTML-редактору или обычному текстовому редактору, работающему в среде Windows, которая позволяет визуально сконструировать необходимую структуру фреймов и затем сгенерировать соответствующий HTML-код. Получаемый HTML-код через буфер обмена Windows (Clipboard) может быть передан в HTML-редактор. Программа FrameGang позволит быстро построить нужную фреймовую структуру.
Рассмотрим возможности программы. После установки данной
программы в Windows и ее запуска предлагается выбрать одну из двух возможных структур фреймов первого (верхнего) уровня - поколонное расположение фреймов (Columns) или построчное (Rows), а также определить их количество. В дальнейшем каждый из фреймов первого уровня может при необходимости быть разбит на несколько фреймов второго уровня. Большее количество уровней фреймов не предусмотрено, однако это не является существенным ограничением, так как на практике редко используется более двух уровней.
Пусть для примера выбрано четыре фрейма, расположенных по
колонкам. Далее следует создать структуру фреймов второго уровня, что
осуществляется разбиением существующих фреймов в противоположном направлении. Для данного примера фреймы могут разбиваться только по горизонтали. Создание фреймов второго уровня выполняется в пункте меню Add, реализация которого добавляет очередной фрейм к текущему.
Заметим, что смешные картинки во фреймах не несут смысловой нагрузки и служат лишь для заполнения пустого пространства. Их прорисовка может быть отменена в меню Options. Также отметим, что само название фирмы-производителя (sausage - сосиски) и название некоторых ее программных продуктов (HotDog - в переводе не нуждается) определило стиль интерфейса данного пакета - во многих пунктах меню встречается изображение сосисок.
После определения структуры фреймов следует задать их размеры. Это выполняется простым перемещением границ фреймов мышью так же, как это делается для изменения размеров окон системы Windows. Установленные размеры для текущего фрейма отображаются в процентах в окнах с названиями Width и Height. При необходимости задать размеры фреймов не в процентах, а в пикселах или относительных единицах, следует изменить получаемый HTML-код вручную вне программы FrameGang.
Далее для каждого фрейма нужно задать его имя (Name), которое может быть опущено, URL-адрес документа, загружаемого в данный фрейм изначально (Frame URL), а также выбрать значение параметра изменяемости размеров фрейма (Resizeable Frame Border) и параметра прокрутки содержимого фрейма (Frame Scrolling).
В любой момент можно посмотреть создаваемую фреймовую структуры в выбранном внешнем браузере, не выходя из программы FrameGang. Для этого служит кнопка Preview. Задание имени браузера производится в меню Options. После задания всех параметров следует сгенерировать HTML-код, соответствующий выбранной структуре фреймов, который будет записан в буфер обмена Windows (кнопка HTML Compile). Полученный код может быть вставлен из буфера обмена в нужное место HTML-файла при работе в любом редакторе.
Кнопки сохранения (Save) и открытия (Open) файла позволяют сохранять и считывать файл только в специальной кодировке, свойственной программе FrameGang и не предназначенной для иного использования.
Ниже представлен HTML-код, сгенерированный программой FrameGang для описанного примера:
Для получения корректного HTML-документа полученный код достаточно заключить между тэгами и . Можно добавить раздел заголовка документа , в котором определить нужные данные, например, название документа (напомним, что название документа записывается между тэгами и ). Заметим, что современные браузеры могут правильно работать даже при отсутствии некоторых необходимых тэгов. Если приведенный выше HTML-код сохранить в виде файла с соответствующим расширением даже без добавления каких-либо тэгов, то и Netscape Navigator, и Microsoft Internet Explorer смогут правильно отобразить данный документ.
Программа FrameGang позволяет визуально проектировать фреймы, достаточна удобна и проста в эксплуатации, однако не лишена отдельных недостатков. В частности, нет возможности уточнить размеры фреймов, записывая нужные числа в окнах Width и Height, так как в них лишь отображаются размеры, устанавливаемые при перемещении границ фреймов мышью. Не задаются общепринятые параметры фреймов MARGINWIDTH и MARGINHEIGHT. Нет возможности записи файла в текстовом формате на диск, что не дает возможности воспользоваться данной программой автономно.
Редактор фреймов Frame-It
Еще одним специализированным редактором фреймов является программа Frame-It, информацию о которой можно получить по адресу:
http://www.iinet.net.au/~bwh/frame-it.html
Работа с этой программой во многом аналогична предыдущей. Сначала требуется определить основную структуру фреймов и их количество. Далее каждый фрейм при необходимости разбивается на несколько, образуя структуры второго уровня. Так же, как и предыдущей программе, количество уровней вложенности фреймов ограничивается двумя.
Для каждого фрейма задаются все необходимые параметры путем
заполнения соответствующих полей. В отличие от предыдущей программы здесь предусмотрено задание значений параметров MARGINWIDTH и MARGINHEIGHT. Кроме того, введен флажок Invisible Frame Borders, установка которого обеспечивает генерацию следующего фрагмента кода:
FRAMEBORDER="NO" BORDER="0" FRAMESPACING="0".
После задания необходимых параметров фреймов можно сохранить
сгенерированный HTML-код в файле или записать его в буфер обмена Windows.
Сгенерированный код будет содержать не только описание структуры фреймов, но и
начальный тег , а также пару тегов и , между
которыми записывается информация, предназначенная для браузеров, не отображающих
фреймы.
Для определенного
примера будет сгенерирован следующий код:
с фреймовой структурой
Если в данном примере сбросить флажок Invisible Frame Borders, то генерируемый код значительно изменится:
scrolling=auto noresize>
scrolling=auto noresize>
scrolling=auto noresize>
scrolling=auto noresize>
scrolling=auto noresize>
Ваш браузер не может показывать документы
с фреймовой структурой
Информация
об использовании фреймов на WWW
Для получения информации о фреймах можно обратиться к следующим адресам на WWW:
http://www.spunwebs.com/sites2c/frmtutor.html
http://union.ncsa.uiuc.edu/HyperNews/get/www/html/guides.html
http://cox.asu.edu/Trial/faq/webfaqs/frame/
http://www.netlingo.com/more/framestarget.html
http://www.aubg.bg/beast/students/raduluc/teach/fr/
http://www.as.net/frame/
http://www.cqi.com/~pmurphey/instruction/
http://www.iwaynet.net/~rtyler/htmltutorial/frames.html
http://edbo.com/frames/
http://bela.fei.tuke.sk/netscape/frames/
http://www.newbie.net/frames/2ed/rnenu.htmtfcontents
http://infoserver.etI.vt.edu/coe/COE_Students/laughon/frame.html
http://www.htmlhelp.com/frames/syntax/
http://www.woodhill.co.uk/html/
http://www.htmlhelp.com/design/frames/
Похожие публикации