Файл: Языки гипертекстовой разметки (Теоретические вопросы гипертекстовой разметки).pdf
Добавлен: 28.06.2023
Просмотров: 36
Скачиваний: 3
Используя фрэймы, которые позволяют разбивать Web-страницы на большие скроллируемые подокна, можно в значительной степени улучшить функциональность и внешний вид информационных систем и Web-приложений. Каждое подокно, или фрэйм, может иметь следующие характеристики:
- Каждый фрэйм имеет свой URL, что позволяет загружать его вне зависимости от других фрэймов.
- Каждый фрэйм имеет собственное имя (параметр name), которое позволяет переходить к нему из другого фрэйма.
- Размер фрэйма может меняться пользователем прямо на экране с помощью мыши (если это не запрещено указанием специализированного показателя).
Данные параметры фрэймов позволяют создавать продвинутые интерфейсные решения, к примеру:
- Размещение стратегических даных, которую автор считает нужным постоянно показывать пользователю, в одном статическом фрэйме. Этим может являться copyright, графический логотип фирмы, набор управляющих кнопок.
- Помещение в статическом фрэйме оглавления всех или части Web-документов, которые содержатся на Web-сервере, что позволяет быстро находить пользователю интересующие его данные.
- Создавать окна итогов запросов, когда в одном фрэйме находится сам запрос, а в другом итоги запроса.
- Создавать формы типа «мастер-деталь» для Web-приложений, которые обслуживают базы данных.
Формат документа, который использует фрэймы, внешне напоминает формат обычного документа, только вместо тэга BODY используют контейнер FRAMESET, который содержит описание внутренних HTML-документов, т. е. саму информацию, которая размещается во фрэймах.
<HTML>
<HEAD>...</HEAD>
<FRAMESET>...</FRAMESET>
</HTML>
Тем не менее, фрэйм-документ представляет собой специфичный вид HTML-документа, потому что он не содержит элемент BODY и какую-то информационную нагрузку соответственно. Он описывает только фрэймы, которые будут содержать информационные данные (помимо случая двойного документа).
Представим общий синтаксис фрэймов:
<FRAMESET COLS=«value» | ROWS=«value»>
<FRAME SRC=«url1»>
<FRAME ...>
...
</FRAMESET>
Общий контэйнер FRAMESET описывает все фрэймы, на которые разделен экран. Можно разделить экран на несколько горизонтальных или несколько вертикальных фрэймов. Тег FRAME описывает каждый фрэйм в отдельности. Рассмотрим каждый компонент более детально[4].
Тэг <FRAMESET> имеет завершающий тэг </FRAMESET>. Все, что может находиться между этими тэгами, это тэг <FRAME>, вложенные тэги <FRAMESET> и </FRAMESET>, а также контейнер из тэгов <NOFRAME> и </NOFRAME>, который позволяет строить двойные документы для браузеров, которые поддерживают фрэймы и не поддерживают фрэймы.
Данный тэг имеет два взаимоисключающих параметра: COLS и ROWS.
ROWS=«список-определений-горизонтальных-подокон». Этот аргумент содержит описания некоторого числа подокон, которые разделены при помощи запятых. Каждое описание представляет собой числовое значение размера подокна в пикселах, процентах от всего размера окна или связанное масштабное значение. Число подокон определяется числом значений в списке. Общая сумма высот подокон должна представлять собой высоту всего окна (в любых измеряемых размерах). Отсутствие атрибута ROWS определяет один фрэйм, величиной во все окно браузера[5].
Синтаксис используемых видов описания величин подокон:
value — простое числовое значение, которое определяет фиксированную высоту подокна в пикселах. Это не лучший способ описания высоты подокна, потому что разные браузеры имеют разный размер рабочего поля, не говоря уже о разных экранных разрешениях у пользователя. Если все же используется этот способ описания размера, то рекомендуется сочетать его с каким-то другим, чтобы в итоге было получено 100%-ное заполнение окна браузера пользователя.
value% — значение величины подокна в процентах от 1 до 100. Если общая сумма процентов описываемых подокон превышает 100, то размеры всех фрэймов пропорционально снижаются до суммы 100%. Если, соответственно, сумма меньше 100, то размеры пропорционально повышаются.
value* —значение value в рассматриваемом описании является необязательным. Символ «*» указывает на то, что все оставшееся место будет принадлежать этому фрэйму. Если указаны два или более фрэйма с описанием «*» (к примеру «*,*»), то оставшееся пространство разделяется между этими фрэймами поровну. Если перед звездочкой стоит цифра, то она указывает пропорцию для этого фрэйма (во сколько раз одно будет больше аналогично описанного чистой звездочкой). К примеру, описание «3*,*,*», говорит, что будут созданы три фрэйма с размерами 3/5 свободного пространства для первого фрэйма и по 1/5 для двух других.
COLS=«список-определений-горизонтальных-подокон». То же самое, что и ROWS, но разделяет окно не по горизонтали, а по вертикали.
Совместное использование этих параметров может привести к непредсказуемым итогам. К примеру, строка: <FRAMESET ROWS=«50%,50%» COLS «50%,50%»> может привести к ошибочной ситуации.
Рассмотрим примеры.
<FRAMESET COLS=«50,*,50»> — описывает три фрэйма, два по 50 точек слева и справа, и один внутри данных полосок.
<FRAMESET ROWS=«20%,3*,*»> — описывает три фрэйма, первый из которых занимает 20% площади сверху экрана, второй 3/4 оставшегося от первого фрэйма места (т.е. 60% всей площади окна), а последний 1/4 (т.е. 20% всей площади окна).
<FRAMESET ROWS=«*,60%,*»> — аналогично предыдущему примеру.
Тэги <FRAMESET> могут быть вложенными, т.е., к примеру:
<FRAMESET ROWS=«50%,50%»>
<FRAMESET COLS=«*,*»
</FRAMESET>
</FRAMESET>
FRAME
<FRAME SRC=«url» [NAME=«frame_name»] [MARGINWIDTH=«nw»] [MARGINHEIGHT=«nh»]
[SCROLLING=yes|no|auto] [NORESIZE]>. Этот тэг определяет фрэйм внутри контейнера FRAMESET.
SRC=«url» описывает URL документа, который будет отображаться внутри рассматриваемого фрэйма. Если он отсутствует, то будет отображаться пустой фрэйм.
NAME=«frame_name». Этот аргумент описывает имя фрэйма. Имя фрэйма может использоваться для определения действия с этим фрэймом из другого HTML-документа или фрэйма (как правило, из соседнего фрэйма этого же документа). Имя обязательно должно начинаться с символа. Содержимое поименованных фрэймов может быть задействовано из других документов с помощью специального атрибута TARGET, который описан ниже.
MARGINWIDTH=«value». Данный аргумент может использоваться тогда, когда автор документа хочет указать сбоку величину разделительных полос между фрэймами. Значение value указывается в пикселах и не может быть менее единицы. По умолчанию это значение зависит от реализации поддержки фрэймов используемым клиентом браузером.
MARGINHEIGHT=«value». То же самое, что и MARGINWIDTH, но для нижних и верхних величин разделительных полос.
SCROLLING=«yes | no | auto». Данный аргумент позволяет задавать наличие полос прокрутки у фрэйма. Параметр yes указывает, что полосы прокрутки будут присутствовать у фрэйма в любом случае, параметр no напротив, что полос прокрутки не будет. Auto определяет наличие полос прокрутки только при их необходимости (значение по умолчанию).
NORESIZE. Этот аргумент позволяет создавать фрэймы без возможности изменения размеров. По умолчанию размер фрэйма может быть изменен с помощью мыши также просто, как и размер окна Windows. NORESIZE отменяет эту возможность. Если у одного фрэйма установлен атрибут NORESIZE, то у соседних фрэймов тоже не может изменяться размер со стороны данного.
NOFRAMES этот аргумент используют тогда, когда нужно создать документ, который может быть просмотрен как браузерами, которые поддерживают фрэймы, так и браузерами, которые их не поддерживают. Этот тэг помещают внутри контейнера FRAMESET, а все, что находится внутри тэгов <NOFRAMES> и </NOFRAMES> игнорируется браузерами, которые поддерживают фрэймы.
Рассмотрим реализацию фрэймов для такого разбиения окна:
+---------------------------+
| | |
| | |
| Link1 | Link2 |
| | |
| | |
+---------------------------+
| | | |
| | | |
| Link3 | Link4 | Link5 |
| | | |
| | | |
+---------------------------+
<FRAMESET ROWS=«*,*» <NOFRAMES> <H1>Ваша версия WEB-браузера не поддерживает фрэймы!</H1> </NOFRAMES>
<FRAMESET COLS=«65%,35%»>
<FRAME SRC=«link1.html»>
<FRAME SRC=«link2.html»>
</FRAMESET>
<FRAMESET COLS=«*,40%,*»>
<FRAME SRC=«link3.html»>
<FRAME SRC=«link4.html»>
<FRAME SRC=«link5.html»>
</FRAMESET>
</FRAMESET>
С появлением фрэймов сразу появляется вопрос: «Как сделать так, чтобы нажимая на ссылку в одном фрэйме, инициировать появление информации в другом?»
Ответом на этот вопрос является планирование взаимодействия фрэймов (далее — планирование). Каждый фрэйм может иметь собственное имя, которое определяет параметр NAME при описании этого фрэйма. Также есть специальный аргумент — TARGET, который позволяет определять, к какому фрэйму относится операция. Формат данного атрибута следующий:
TARGET=«windows_name»
Этот аргумент может встречаться внутри разных тэгов: TARGET в тэге <A> — это самое прямое использование TARGET. Обычно при активизации пользователем ссылки соответствующий документ появляется в том же окне (или фрэйме), что и исходный, в котором была сделана на него ссылка. Добавление атрибута TARGET позволяет произвести вывод документа в другой фрэйм. К примеру: <A HREF=«mydoc.html» TARGET=«Frame1»> Переход в фрэйм № 1 </A>
Размещение TARGET в тэге BASE позволит не указывать при описании каждой ссылки фрэйм — приемник документов, которые вызываются по ссылкам. Это удобно, если в одном фрэйме находится меню, а в другой — выводится информация. К примеру:
Документ № 1.
<FRAMESET ROWS=«20,*»>
<FRAME SRC=«doc2.htm» NAME=«Frame1»>
<FRAME SRC=«doc3.htm» NAME=«Frame2»>
</FRAMESET>
Документ № 2 (doc2.htm).
<HTML>
<HEAD>
<BASE TARGET=«Frame2»>
</HEAD>
<BODY>
<A HREF=«url1»> Первая часть</A>
<A HREF=«url2»> Вторая часть</A>
</BODY>
</HTML>
Также можно включать параметр TARGET в описание ссылки при создании карты изображения в теге <AREA>. К примеру:
<AREA SHAPE=«circle» COORDS=«100,100,50» HREF=«http://www.softexpress.com» TARGET=«Frame1»>
Это же относится и к определению формы. В этом случае, после обработки переданных параметров формы результирующий документ появится в указанном фрэйме.
<FORM ACTION=«url» TARGET=«window_name»>. Внимание! Имя окна (фрэйма) в параметре TARGET должно начинаться с латинской буквы или цифры. Также следует помнить, что есть зарезервированные имена для разрешения специальных ситуаций.
Зарезервированные имена фрэймов нужны для разрешения специализированых ситуаций. Все они начинаются со знака подчёркивания. Любые другие имена фрэймов, которые начинаются с подчеркивания, будут браузером игнорироваться.
TARGET=«_blank» — это значение определяет, что документ, который был получен по ссылке, будет отображен в новом окне браузера.
TARGET=«_self» — это значение определяет, что документ, который был получен по ссылке, будет отображен в том же фрэйме, в котором находится ссылка. Это имя удобно для переопределения окна назначения, которое было указано ранее в тэге BASE.
TARGET=«_parent» — это значение определяет, что документ, который был получен по ссылке, будет отображен в родительском окне, независимо от параметров FRAMESET. Если родительского окна нет, то это имя аналогично «_self».
TARGET=«_top» — это значение определяет, что документ, который был получен по ссылке, будет отображен на всей поверхности окна, независимо от наличия фрэймов. Использование этого параметра удобно в случае вложенных фрэймов.
Заключение
Таким образом, можно сделать следующие выводы.
Гипертекстовый документ — текстовый файл, который имеет специализированные метки, которые называются тегами, впоследствии они опознаются браузером и используются им для отображения содержимого файла па экране компьютера.
При помощи этих меток можно выделять заголовки документа, менять цвет, начертание и размер букв, вставлять графические таблицы и изображения. Но главным преимуществом гипертекста перед обычным текстом является возможность добавления к содержимому документа гиперссылок — специализированных конструкций языка HTML, которые позволяют щелчком мыши перейти к просмотру другого документа.
Список использованных источников
- Абхалимова, Р. С. Информационные технологии ХХI века // Экономика и социум. - 2014 г. - № 2-5 (11). - С. 234-236.
- Азаров, Б.Ф. Теория систем управления: Учебное пособие / Б.Ф. Азаров, И.В. Карелина и др. - СПб.: Лань, 2013. - 424 c.
- Астахова И.Ф., Толстобров А.П., Мельников В.М. SQL в примерах и задачах. – Мн.: Новое знание, 2011. – С.4.
- Боуман Дж.С., Эмерсон С.Л., Дарновски М. Практическое руководство по SQL. – Вильямс, 2011. – С.56-90.
- Гарсиа-Молина Г., Ульман Дж., Уидом Дж. Системы баз информационных данных. Полный курс. - Вильямс, 2010. – С.125.
- Дейт К. SQL и реляционная теория. Как грамотно писать код на SQL. – Символ-Плюс, 2010. – С.123.
- Дейт К., Дарвен Х. Основы будущих систем баз информационных данных. Третий манифест. – Янус-К, 2011. – С.102.
- Дунаев В.В. Базы информационных данных. Язык SQL. – СПб. : БХВ-Петербург, 2010. – С.88.
- Дж. Кастаньетто, Х.Рават, С.Шуман, К.Сколло, Д.Велиаф «Профессиональное РНР программирование». – Пер. с англ. – СПб: Символ-Плюс, 2010. – С.76.
- Жилин Д.М. Теория систем: опыт построения курса. – КомКнига, 2011. – С.123.
- Иванова Г.С. – «Основы программирования» Учебник для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2010. – С.156.
- Коггзолл Джон. PHP 5. Полное руководство – М.: Вильямс, 2012 – С.336.
- Кренке Д. Теория и практика построения баз информационных данных. – Питер, 2010. – С.206.
- Мирошниченко Г. Реляционные базы информационных данных. Практические приемы оптимальных решений. – СПб. : БХВ-Петербург, 2011. – С.199.
- Новиков Б., Домбровская Г. Настройка приложений баз информационных данных. – BHV, 2011. – С.22.
- Советов Б.Я., Цехановский В.В., Чертовской В.Д. Базы информационных данных. Теория и практика.– Высшая школа, 2010. – С.49.
- Скотт В. Эмблер, Прамодкумар Дж. Садаладж Рефакторинг баз информационных данных. Эволюционное проектирование. – Вильямс, 2010. – C.36.
- Тоу Д. Настройка SQL. Для профессионалов. – Питер, 2011. – С.103.
- Фейт С. TCP/IP. Архитектура, протоколы и реализация (включая IP версии 6 и IP Security) – Питер, 2011. С.196.
- MySQL. Библиотека профессионала – Киев: Диалектика, 2012 – С.170-179.
- PHP/MySQL для начинающих – Кудиц-образ, 2010 – С.44-108.
- Теория и практика построения баз информационных данных: Д. Крёнке. – Питер, 2011. – С.223-250.
- Microsoft Access 2007. Шаг за шагом: Практическое пособие / Пер. с англ. – М.: ЭКОМ, 2011. – С.63.
- Багриновский К.А. Хрусталев Е.Ю. Новые информационные технологии. – М.: ЭКО, 2011. – С.122.
- Информатика и информационно-коммуникационные технологии. Базовый курс: И.Г. Семакин, С.В. Русаков, Л.В. Шестакова. - М: БИНОМ, Лаборатория знаний, 2010. – С. 169.