Э. Таненбаум - Компьютерные сети. (4-е издание) (DJVU) (1130092), страница 193
Текст из файла (страница 193)
Возможное отображение таблицы брвузвром С помощью тета <сарс1оп> можно задать надпись над таблицей. Каждая строка таблицы начинается с тега <аг> (гаЫе грач — строка таблицы). Отдельные ячейки помечаются тетом <ьь> (гаЫе Ьеабег — заголовок таблицы) или <ьб> (саЫе хасав данные таблицы). Эти два тега позволяют создавать, соответственно, строки заголовков таблицы и обычные строки, что и показано в примере. В таблицах также могут использоваться различные другие теги.
С их помощью можно устанавливать параметры выравнивания содержимого ячеек по вертикали и горизонтали, задавать параметры границ ячеек, объединять ячейки в группы и многое другое. НТМ1 4.0 отличается от предыдущих версий некоторыми новыми свойствами. Они включают в себя специальные методы доступа для людей с ограниченными возможностями, внедрение объектов (обобщение тета <аад>, позволившее включать в состав страниц не только изображения, но и другие объекты), поддержку языков написания сценариев (скриптов), что дало толчок к развитию динамических страниц, и т.
д, Если веб-сайт достаточно велик по размерам и сложен настолько, что над ним работает целая группа программистов, желательно обеспечить более или менее схожий дизайн всех страниц. Эта проблема решается при помощи таблиц стилей. При их использовании отдельные страницы оформляются не реальными (физическими) стилями (например, курсивом нли полужирным шрифтом), а логическими. Среди них могут быть, например, <бп> (Определение), <ев> (Слабое выделение), <аагопр> (Сильное выделение), <чаг> (Программная переменная). Логические стили определяются в таблицах стилей, ссылка на которые ставится в начале ко- Всемирная паутина (1Д/!ДАД/) 719 да каждой страницы.
Таким образом можно придать всем страницам единый вид. Если веб-мастер решит изменить стиль <зСгопй> и отображать его полужирным шрифтом величиной 18 пунктов радикального розового цвета вместо курев. ва величиной 14 пунктов синего цвета, ему необходимо будет лишь поменять одно определение в таблице стилей, чтобы изменения распространились на весь сайт. Таблицы стилей можно сравнить с файлами в языке С, включаемыми с помощью директивы 1/!по!обе, — там также изменение одного макроопределения влечет за собой изменение во всех программных файлах, использующих данный заголовочный файл. Формы Первая версия языка НТМ1 фактически обеспечивала лишь одностороннюю связь.
Пользователи могли получать страницы от поставщиков информации, но отправлять информацию обратно было довольно трудно. По мере того, как все больше коммерческих организаций начали использовать Всемирную паутину, потребность в двустороннем трафике стала возрастать. Так, многим компаниям потребовалась возможность принимать заказы на продукцию с помощью своих веб-страниц. Производители программного обеспечения хотели продавать по сети свои программы, для чего требовалась возможность заполнения регистрационных карточек. Компаниям, предоставляющим поиск информации в Паутине, было нужно, чтобы пользователи могли ввести ключевые слова поиска.
В результате в НТМ1 2.0 были включены формы. Формы могут содержать кнопки и поля для ввода текста, позволяющие пользователям делать выбор или вводить необходимую информацию, которую затем можно отсылать владельцу страницы. Для атой цели используется тег <1приС>. У него могут быть различные параметры, определяющие размер, назначение и другие свойства отображаемого окна. Наиболее часто используемыми формами являются пустые поля для ввода текста, флажки, переключатели, активные карты и кнопки подтверждения.
В примере, приведенном в листинге 7.6, показаны некоторые из перечисленных форм. Отображение этой НТМЕ-страницы браузером показано на рис, 7,14. Листинг 7.6. НТМС-текст для бланка заказа <ЬСш1> <Ьеаб> <С1С1е> Бланк заказа клиента аы1 </С1С1е> </Ьеаб> <Ьобу> <ЬС> Бланк заказа штуковины </Ь1> <топя асС1оп""ПССр://ииы,ытбдеС.сош/с01-Ь1п/ы160етогбег" шеспоб-розС> Иня <1приС паше-"сивгошег" в!ге-50> <р> Адрес <1приС паше-"аббгезз" гбге-58> <р> Город <1приС паше "стСу" в!ге-21> Штат <1приС паше-"зсаге" з1ге-4> Страна <!приС паше-"соипггу" п1ге-10» <р> в кредитной карты <!прис паше-"сагбпо" юге 10> Срок действия <!прыг папе-"екртгез" зтге-4> ш/с <1приС паше-"сс" суре-габ!о ча1ие-"шапсегсагб"> ч1за <1приС паше-"сс" Суре-габ1о ча1ие-"ч!засагб"> <р> Разнер штуковины: большой <зприС паше-"ргобисС" Суре-габ1о ча1ие-"дорогая"> наленький <1приС паше«"ргобисС" Суре-га61о ча1ие-"дешевая"> 720 Глава 7.
Прикладной уровень доставка <тпрцт папе-"ехргезз" Суре-спескбох> <р> <тпрыС Суре выЬштС та1ие""отправить заказ" > <р> Благодарии вас за то. нто вы заказали у нас штуковины фириы аит. Это правильный выбор! </тога> <г'босу> <г'ЬСа1> Рис. 7.14. Форматированная страница Начнем изучение форм с этого примера. Как и все формы, она заключена между тегами <тога> и <гтоггл>. Текст, не заключенный в тети, просто отображается, Внутри формы разрешено использование всех обычных тегов (например, <Ь>). В данной форме используются три типа окон для ввода данных.
Окно первого типа следует за текстом «Имя». Ширина этого окна 46 символов. Предполагается, что пользователь введет здесь свое имя, которое будет храниться в виде текстовой строки в переменной сывСогвег для последующей обработки. Тег <р> указывает браузеру, что последующий текст следует отображать с новой строки, даже если в текущей строке еще достаточно места. С помощью этого и других тегов автор страницы может управлять внешним видом бланка на экране.
В следующих окнах формы спрашивается адрес заказчика, то есть улица, горол, штат и страна. Между этими полями не вставляются теги <р>, поэтому браузер по возможности пытается отобразить их все в одной строке. С точки зрения браузера, этот абзац представляет собой просто шесть отдельных элементов— три строки, перемежающиеся тремя окнами. Он отображает их друг за другом, слева направо, переходя на новую строку по мере необходимости. Таким образом, вполне возможно, что на экране с разрешением 1600н1200 точек все три строки и соответствующие им окна поместятся в одну строку, тогда как на экране с разрешением 1024н768 точек они будут разбиты на две строки. В худшем Всемирная паутина (уууВФ) 721 случае слово «Страна» может оказаться в конце одной строки, а соответствующее окно ввода — в начале следующей строки.
В следующей строке у пользователя запрашивается номер кредитной карты и срок ее действия. Передавать номера кредитных карт по Интернету следует только в том случае, если приняты все соответствующие меры предосторожности. Более подробно этот аспект будет обсуждаться в главе 8. Следом за датой истечения срока действия кредитной карты мы обнаруживаем новые для нас элементы управления — переключатели.
Они используются, когда требуется выбрать только один вариант из нескольких. Они напоминают кнопки на автомагнитолах, служащие для быстрого доступа к заданным радиостанциям. Браузер отображает эти элементы управления таким образом, что пользователь может включать их щелчком мыши на них (или с помощью клавиатуры). Переключатели этого типа всегда объединяются в группы. При этом включение одного переключателя автоматически выключает все остальные переключатели этой группы. Внешний вид переключателя зависит от используемого графического интерфейса.
В пункте бланка «Размер штуковины» также используются два переключателя. Группы переключателей определяются по значению параметра паве (имя) тета <1орог>. Специальных скобок из тегов вроде <гас! оЬоггоп> ... «/гао1оЬогьсп> для определения групп переключателей не предусмотрено.
Параметр чз1се указывает, какая кнопка была нажата пользователем. В зависимости от того, какую кредитную карту выберет пользователь для своих расчетов, переменной сс будет присвоено значение текстовой строки «тазгегсагд» или «у(засагг!». Следом за двумя наборами переключателей в бланке используется элемент управления типа сяес<Ьох (флажок). Он похож на переключатель предыдущего типа, так как тоже может находиться в одном из двух состояний (установлен/ сброшен), но не объединяется в группы и включается и выключается щелчком мыши на нем независимо от других элементов управления того же типа.
Например, заказывая пиццу на веб-странице компании Е!есггор!гга, пользователь может выбрать и сардины, и лук, и ананас (если у него крепкий желудок), но ему не удастся одновременно выбрать маленькую, среднюю и большую пиццу, Выбор приправы к пицце будет представлен в виде трех отдельных элементов управления типа саес1Ьох, тогда как выбор размера пиццы будет реализован с помощью набора переключателей. Если список, из которого предстоит сделать выбор пользователю, очень длинный, то использование переключателей несколько неудобно.
В этом случае можно использовать тети <зе1ест> и </зе1ест> для определения списка альтернатив. При этом семантика переключателей сохраняется, если только не используется параметр го1т1р1е, превращающий список альтернатив в набор независимо устанавливаемых и сбрасываемых флажков. Некоторые браузеры отображают пункты списка между тегами <зе1есГ> и </зе1есг> как всплывающее меню. Итак, мы рассмотрели два встроенных типа тета <!эрот>: гас1О и Спес<Ьох. На самом деле, мы уже познакомились и с третьим типом этого тета, то есть с типом техт. Мы не заметили этого, потому что этот тип является типом по умолчанию, 722 Глава?.
Прикладной уровень поэтому параметр гуре = Гехч можно не указывать. Еще два возможных значения параметра Гуре: раззногб и ГехГагеа. Окно раззиогз аналогично окну Гехг, с той разницей, что при вводе текста в окне раэзногй символы не отображаются на экране, Окно гехгагеа отличается от окна гехт тем, что может содержать нескольг,, строк текста.