Использование шрифтов на электронных страницах
В те давние времена, когда принтеры имели всего один шрифт, и тот только с прописными буквами, и выводили текст на перфорированную бумагу стандартного размера, проблем со шрифтами не было. Шрифты на первых персональных компьютерах воспринимались как экзотика, но как только речь зашла о совместимости и переносимости, шрифты стали вечной головной болью Web-дизайнеров и системных администраторов.
Первые текстовые процессоры под Windows позволяли определять шрифты, не инсталлируя их. Потом пользователи возмущались, что шрифты не отображаются. Шрифты стали проклятьем.
Когда Windows стали поддерживать TrueType-шрифты, стало полегче. Соответствующий диалог показываеттолькоте шрифты, которые могут быть отображены, и Windows может отобразить эти шрифты любым размером. CSS предоставляют широкие возможности управления шрифтами. К сожалению, вы никогда не знаете, какие именно шрифты установлены у пользователя, открывшего созданную вами Web-страницу. Круг замкнулся: мы определяем шрифты для ввода, но не для вывода. Шрифты должны размещаться непосредственно на Web-сайтах, чтобы посетители могли загрузить их при необходимости. Тогда не придется конвертировать текст в графику, время загрузки уменьшится, а посетители увидят страницы такими, какими их создал автор. Однажды, я надеюсь, будет найден устраивающий всех способ загрузки шрифтов, так же, как сейчас существует способ загрузки изображений. А пока загляните на следующие Web страницы:
|
|
http :// www . microsoft . com / opentype - домашняя страница Microsoft, посвященная шрифтам в Web. ОреnТуре - совместная инициатива Microsoft и Adobe, цель которой - разработать единый формат загружаемого шрифта, совместимый с PostScript и TrueType стандартами.
http :// www . truedoc . com / - домашняя страница TrueDoc, изобретения фирмы Bitstream Inc., основателя цифрового набора. Web-дизайнеры могут конвертировать шрифты на своих компьютерах в TrueDoc-файлы и размещать их на Web-сайтах. Удаленные браузеры загружают TrueDoc-файлы и используют их для отображения страниц с этих сайтов.
Одновременно с созданием TrueDoc-файлов вы определяете имя сайта одним из двух возможных способов; указывая абсолютный адрес ( http :// www . whatever . com ) или относительный путь (-/whoever/). Таким образом, использование TrueDoc-файлов для просмотра других сайтов становится невозможным. Bitstream ввела это ограничение для того, чтобы хозяева каждого Web-сайта могли приобретать только те шрифты, которые они используют. К сожалению, если пользователь посещает несколько сайтов, разработанных с использованием одинаковых TrueDoc-шрифтов, шрифты будут загружаться многократно.
Bitstream поддерживает и распространяет несколько TrueDoc-шрифтов свободно, на тот случай, если вы не хотите указывать домашнюю страницу Sitstream как место размещения шрифтов. На их сайте также поддерживается компонент ActiveX, который делает Internet Explorer совместимым с TrueDoc.
|
|
http://www.netscape.com/communicator/version4.0/dynfonts - описывает то, как Netscape поддерживает загружаемые шрифты. В основном Netscape адаптировал TrueDoc-файлы и встроил их в Navigator 4.0 и выше.
http :// www . hexmac . com / index 2. html - домашняя страница утилиты Typograph, которая конвертирует шрифты в вашей системе в TrueDoc-формат. (Будьте аккуратны, поскольку не со всеми шрифтами разрешены такие преобразования).
Язык VRML
Формат HTML был разработан для представления в WWW статической текстовой и графической информации и позволил приблизить внешний вид WWW-страниц к виду хорошо иллюстрированных журналов. Но аппетит приходит во время еды, и у пользователей WWW возникло естественное желание получать информацию в виде подвижной и трехмерной графики, с которой они привыкли работать на локальных компьютерах (например, проводя досуг за компьютерными играми). Появившийся формат VRML (Virtual Reality Modelling Language, Язык моделирования виртуальной реальности) предназначен для представления подвижных объектов и трехмерного моделирования при работе с сервисом WWW.
|
|
Основная идея VRML состоит в том, что вместо готовых растровых изображений по сети от сервера к клиенту передается лишь набор инструкций и данных, позволяющий программе-клиенту синтезировать изображение. Это существенно снижает объем трафика и делает реальной передачу информации о подвижных трехмерных объектах.
В VRML входят описания основных графических примитивов, текстур поверхностей, источников освещения, перемещений. VRML позволяет передать анимацию и синхронизованный с изображением звук, а также организовать интерактивное взаимодействие с пользователем.
Язык XML
Технология XML представляет собой нечто большее, чем просто способ представления Web-страниц, с помощью XML набор документов превращается в базу данных. Содержимое документа XML располагается между стандартными тэгами; столь строгая структура кода позволяет всем приложениям без труда выбирать и использовать в своих целях это содержимое. Каждый документ XML становится хранилищем данных, к которому можно обращаться с запросами подобно тому, как можно было бы обратиться к любой БД. К сожалению, правила, регламентирующие порядок упаковки данных, на Web-страницах и методы обработки этих, данных до сих пор не определены и не систематизированы. Результат? Интернет сегодня представляет собой беспорядочную и причудливую смесь технологий HTML, JavaScript и Java на клиентских системах и крайне широкий набор компилируемых языков и языков сценариев на стороне сервера.
|
|
XML позволяет разобраться в этих нагромождениях и, упорядочив хаос, организовать его в единую унифицированную сеть. Данные, которые ранее были бессистемно разбросаны по страницам HTML, теперь размещаются на строго структурированных документах XML. Браузеры пятого поколения, выпущенные компаниями Netscape Communications и Microsoft, поддерживают спецификации XML и способны обрабатывать информацию гораздо эффективнее по сравнению со своими предшественниками, которые манипулировали лишь конструкциями HTML.
Эти данные правильно интерпретируются не только браузерами, но и другими XML-совместимыми приложениями. Новое поколение служб электронного обмена данными (EDI) способно связать при помощи средств XML различные бизнес-процедуры, определить соответствующие API-интерфейсы и форматы сообщений.
Некоторым же она представляется упрощенной версией доброго старого стандартного языка обобщенной разметки SGML, который, собственно, и положил начало HTML. И хотя и в том и в другом утверждении есть доля истины, XML нельзя считать обычным представителем когорты языков гипертекстовой разметки. Данная технология быстро превращается в основную движущую силу развития объектно-ориентированной Паутины.
Строгая дисциплина управления наборами документов лежит в основе большинства операций, требующих особой точности.
Хотя язык HTML создан на основе спецификаций SGML DTD, браузеры никогда не отличались их однозначной интерпретацией. Впрочем, на начальном этапе развития Интернет эту неопределенность можно было считать достоинством. Web-страницы не ограничивали полета творческой фантазии, и любой пользователь мог погрузиться в игру с Web. Но сейчас, когда HTML получил статус официального языка Сети, подобные вольности уже недопустимы.
XML придает технологии SGML дополнительную строгость и точность, не ограничивая возможность манипулирования огромным количеством HTML-страниц, накопленных в Интернет к сегодняшнему дню. Этого удалось добиться за счет упрощения правил определения DTD(спецификации определений типов документов -Document Type Definitions). Таким образом, чтобы добиться совместимости миллиардов уже размещенных в Интернет страниц HTML со спецификациями XML, достаточно приложить минимум усилий.
Вот, например, типичный фрагмент HTML:
< img src =/ img / fig 1. jpg >
Эквивалентная конструкция на языке XML будет выглядеть так:
< img src ="/ img / fig 1. jpg "/>
Внесение небольших изменений превращает конструкции HTML в код XML. Заключение атрибута /img/fig1.jpg, представляющего собой ссылку на графический файл fig1.jpg, в кавычки и добавление в конце косой черты позволяет избежать двусмысленности при автоматическом синтаксическом анализе операторов XML. Страницу XML (так же, как и весь документ) можно считать базой данных, поскольку каждое идентифицируемое в процессе синтаксического анализа поле содержит специфическую информацию, которая распознается, обрабатывается и преобразуется в нужный вид другими приложениями.
Интернет Explorer 5.0 способен преобразовать страницу XML в объект, который можно непосредственно обрабатывать средствами таблиц стилей Extensible Stylesheet Language (XSL). Допускается также косвенная обработка за счет извлечения нужных фрагментов страницы при помощи сценариев Microsoft VBScript или ECMAscript и последующего встраивания их в модель Document Object Model браузера. Браузер Netscape версии 5.0 обладает аналогичными возможностями.
Однако браузер решает лишь часть задач. Web-узлы обслуживают массу других бизнес-процедур: с их помощью отслеживается доставка экспресс-отправлений, закупаются товары для офиса, проводятся операции с ценными бумагами. Появляются все новые и новые задачи; некоторые из них выполняются без всякого вмешательства человека.
Со временем XML найдет себе применение при определении служебных API-интерфейсов, предназначенных для интеграции информационных систем деловых партнеров.
На Web-узле английской компании Harvey Bowring Online, специализирующейся на страховании кредитов, используют инструментарий GlobalAccess, разработанный компанией D&B. На каждом этапе работы узла, как данные, так и протоколы запросов и ответов представляются в терминах XML. Это означает следующее. Система может работать где угодно. В технологии электронного обмена данными (EDI) для D&B нет ничего нового. Компания применяет ее уже в течение многих лет. Однако как D&B, так и ее клиенты не могут и, вероятно, не смогут получить глобальный доступ к сетям EDI.
Для обращения к данным применяется протокол HTTP. Поэтому никаких осложнений с межсетевыми экранами в этом случае не возникает.
Для доступа к данным браузер и приложения используют одни и те же унифицированные технологии. Гарантией совместимости является управление протоколами средствами XML DTD.
Интероперабельность. Несмотря на то, что система объединяет сервер WebMethods на узле D&B и набор инструментов D&B на узле Bowring, все ее составные части могут взаимодействовать и с другими средствами, поддерживающими XML.
Для развития объектно-ориентированной WWW предполагалось использовать технологии DCOM, CORBA и Интернет Inter-ORB Protocol. Однако им не удалось справиться с тем, что, оказалось, по силам XML - с его помощью XML можно не только проектировать Web-страницы, но и решать гораздо более сложные задачи.
JavaScript
Для сложных Web-страниц вам понадобится;
· отображать изменяющиеся данные, такие как текущее время пли дата;
· программировать переменное содержание в зависимости от даты, браузера пользователя или других условий;
· изменять внешний вид элементов страницы, если пользователь щелкнул мышью или провел курсор мыши над элементом.
Все, что связано с обработкой прерываний, требует программирования. Для простоты вы вставляете кусочки своих программ в последовательность HTML и CSS-кодов. Вот так:
<script language=”JavaScripts”>
<!-- document.write("URL=" + document.location); //-->
</script>
Тэг <SCRIPT> сообщает браузеру, что внутри HTML размещен код JavaScript. Тэг </SCRIPT> отменяет действие. <!-- и --> тэги сообщают браузерам, которые не могут интерпретировать <SCRIPT> и </SCRIPT>, что строки кода следует рассматривать как комментарии. Двойная косая черта (//) перед тэгом --> - знак комментария в языке JavaScript; без него JavaScript интерпретирует --> как ошибочный оператор.
При строгой типизации данных каждая переменная имеет один и только один тип данных, который не может быть изменен. Объявленное целым останется целым всегда, объявленное строкой останется строкой всегда. При слабой типизации данных, как в JavaScript, вы можете поместить любое значение в любую переменную, и переменная примет требуемый тип данных.
Document . write - метод, который прописывает HTML в Web-страницу как при программировании вручную. Прописанная «вручную» строка URL = дополняется содержанием переменной document.location (переменная класса документ). В данном случае это адрес текущей Web-страницы.
Каждый JavaScript-оператор должен заканчиваться точкой с запятой. Отсутствие точки с запятой JavaScript считает ошибкой. Логические выражения должны быть заключены в круглые скобки, а блоки операторов -в фигурные скобки. Например, оператор if будет выглядеть так.
If (navigator.platform == “Win32”) {
dоcument.write("Windows");
winplat = "y";
}else {
document.write ("Other");
winplat = "n";
}
Этот фрагмент кода выполняет строки 2 и 3, если свойство platform объекта navigator равно Win32, и выполняет строки 5 и 6 в противном случае. JavaScript использует знак == как логический оператор эквивалентности и знак = в качестве оператора присваивания. Попытка сравнения с использованием знака равенства ( = ) - вторая причина ошибок в JavaScript.
Заметьте, что в третьей строке переменная winplat определяется при первом появлении. Если вы перепутаете имя переменной, никаких сообщений об ошибке не последует. JavaScript просто создаст новую переменную. Это третий источник ошибок в JavaScript, поскольку этот язык чувствителен к регистру. Для JavaScript переменные Cool и cool - разные.
Поскольку в JavaScript отсутствует строгое определение типов, переменные принимают тип в зависимости от того, что им присваивается. Если вы храните в переменной число, вы можете использовать переменную как числовую или как строковую. Величины, содержащие нечисловые символы, могут использоваться только как строки.
Для создания объектов более сложных, чем простые переменные, JavaScript требует использования такого оператора:
curDt = new Date();
Создаваемый объект одновременно инициализируется текущей датой. Такой объект наследует множество полезных методов. Например, ниже показано, как использование метода getDay объекта curDt возвращает день недели:
curDay = curDt.getDay ()
На этих сайтах размещена полная документация по JavaScript
Microsoft: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/js56jsoriJScript.asp
Netscape: http://developer.netscape. сот /library/documentation/communicator
VBScript
В ответ на появление JavaScript Microsoft выпустила версию своего популярного языка программирования Visual Basic. В целом VBScript делает то же самое, что JavaScript, только программный код очень похож на Visual Basic. VBScript отличается от JavaScript следующим:
· в конце оператора не ставится точка с запятой;
· знак равенства используется как для присвоения значений переменным, так и для выполнения операции сравнения;
· блоки операторов выделяются не фигурными скобками, а парами ключевых слов if ... endif , do … loop, и while ... wend .
Так же как в JavaScript, переменные вводятся по мере необходимости, а их тип определяется по контексту. VBScript поддерживает почти все встроенные функции Visual Basic. На Web-страницах VBScript выглядит следующим образом:
<script language="VBScript">
<!--
document.write("URL=" + document.location)
-->
</script>
За подробной информацией о VBScript обратитесь на сайт http :// msdn . microsoft . com / library / default . asp ? url =/ library / en - us / script 56/ html / vtoriVBScript . asp
Тэги <SCRIPT> и </SCRIPT> практически такие же, как и раньше, а язык определяется как VBScript. Тэги <!-- и --> – те же самые, но без знака комментариев //.
VBScript поддерживает document . write , метод в точности так же, как и JavaScript, но не требует ставить точку с запятой в конце оператора.
Основной недостаток VBScript состоит в том, что его поддерживает только Internet Explorer. Это уничтожает всякую надежду использовать одну и ту же страницу как для пользователей Netscape Navigator, так и для пользователей Internet Explorer. По этой причине использование VBScript для программирования на стороне клиента ограничено.
Динамический HTML
До появления версий 4.0 Internet Explorer и Netscape Navigator сценарии могли изменять содержание и внешний вид страниц, только используя метод write . document при загрузке страницы.
Любой сценарий, выполняемый позже, может посылать команды браузеру, такие как запрос на загрузку новой страницы, вывод окна предупреждения или изменение значения поля формы, но как только страница загружена, сценарий не может изменить HTML-код. Как же сделать Web-страницы интерактивными, если их невозможно изменить в ответ на действия пользователя?
Динамический HTML, частично реализованный в Netscape 4 и в большей степени в Internet Explorer 4, устраняет эти ограничения. С использованием динамического HTML сценарии могут вставлять блоки HTML, удалять и заменять их или изменять свойства объектов после отображения страницы на экране. Браузер автоматически обновляет новые свойства и (или) новый HTML-код.
Динамический HTML строится на двух принципах.
· Объектная модель документа (DOM) описывает способ организациии названия объектов в браузере, а также определяет, какие объекты и свойства могут быть изменены и какие значения они могут принимать.
· Событийная модель описывает способ передачи управления сценариям - какие действия посылают сценарии на выполнение.
Слабость динамического HTML состоит в том, что Internet Explorer и Netscape Navigator поддерживают очень разные модели документов и модели событий. Отчасти это следствие «войны браузеров», а отчасти связано с тем, что браузеры разрабатывались в разное время. В любом случае окончательным результатом следует считать разработку страниц с динамическим HTML, совместимых и с IE, и с Netscape.
За информацией о динамическом HTML обратитесь на сайт Microsoft: http://msdn.microsoft.com/workshop/author/dhtml/reference/dhtml_reference_entry.asp
Netscape: http://developer.netscape.com/library/documentalion/communicator/dynhtml/index.htm
В Internet Explorer почти все объекты на странице - ссылки, изображения, параграфы текста и т.д. могут реагировать на широкий спектр событий. Netscape Navigator поддерживает намного меньше событий, и при этом только для ссылок и форм.
Java-апплеты
Практически все современные браузеры способны отображать и выполнять Java-апплеты — специальные Java-приложения, которые пользователь получает в составе Web-страницы. Эти приложения нередко включаются в состав Web-страниц с целью добавления функциональности, которую сложно или невозможно реализовать с помощью скриптовых языков. Апплеты могут выполняться на всех платформах, для которых доступна виртуальная Java-машина.
Апплеты обычно создаются в соответствии с правилами, оговаривающими период их жизни и способы взаимодействия со своим окружением. Чаще всего эти способы весьма ограниченны (например, такие операции, как считывание и запись файлов, по умолчанию для апплетов запрещены; если же подобные операции необходимы, разрешения на их выполнение для конкретных апплетов и конкретных файлов описываются на клиентском компьютере; сетевой доступ из апплета возможен только к тому компьютеру, с которого он был загружен; запуск других приложений на компьютере пользователя из апплетов невозможен). Однако апплет способен считывать значения параметров (например, цвета, шрифтов, файлов с графическими изображениями, используемыми при выполнении апплета) с содержащей его Web-страницы и в соответствии с этими параметрами изменять свое поведение. Кроме того, параметры апплета можно менять динамически из кода на скриптовых языках, содержащихся в составе той же страницы.
Отметим, что, поскольку апплеты реализуют выполнение кода на компьютере клиента, они в определенной степени являются потенциально опасным содержимым. Именно поэтому все современные браузеры обладают доступными пользователю средствами ограничения возможностей выполнения апплетов.
Элементы управления ActiveX
Некоторые из современных браузеров (в частности, Microsoft Интернет Explorer) могут служить контейнерами для элементов управления ActiveX — специальных COM-серверов, выполняющихся в адресном пространстве браузера и также получаемых в составе Web-страницы.
С помощью элементов управления ActiveX, как и посредством Java-апплетов, можно реализовать любую функциональность, в том числе и неблагоприятную для компьютера пользователя, при этом, в отличие от Java-апплетов, при выполнении элементов управления ActiveX в общем случае нет никаких ограничений на доступ к файлам и иным ресурсам операционной системы и сети, а код, содержащийся в них, выполняется от имени загрузившего их пользователя. Как и Java-апплеты, элементы управления ActiveX могут считывать свои свойства с содержащей их страницы; кроме того, свойства элемента управления ActiveX можно менять динамически из кода на скриптовых языках, содержащихся в составе той же страницы; в том же коде можно обрабатывать события, возникающие в таких элементах управления.
Естественно, Microsoft Интернет Explorer обладает средствами ограничения возможностей выполнения элементов управления ActiveX, в том числе управления ими из кода на скриптовых языках. Однако для контроля безопасности их выполнения имеется еще одно средство, называемое электронной цифровой подписью. Цифровая подпись помещается внутрь элемента управления ActiveX, для чего требуется наличие соответствующего электронного сертификата. Электронная подпись, помимо сведений о фирме-производителе, содержит и другую полезную информацию. Так, например, если файл с элементом управления ActiveX после добавления электронной подписи был изменен, то об этом будет немедленно сообщено перед запуском такого элемента управления — при добавлении подписи к элементу управления ActiveX происходит вычисление контрольной суммы соответствующего файла. Отметим, однако, что в России в настоящее время нет авторизованных компаний, которые могли бы выдать электронный сертификат международного образца. Естественно, наличие электронного сертификата не гарантирует отсутствия потенциально опасного содержимого, но, по крайней мере, позволяет клиенту установить его источник.
Далее нам следует напомнить банальную истину, которая, как показывает практика, очевидна не для всех наших читателей. При работе с элементами управления ActiveX и Java-апплетами абсолютно бесполезно полагаться на антивирусное программное обеспечение (неважно, клиентское оно или серверное): признаков, характерных для вирусов (таких как способность внедряться внутрь исполняемых файлов и документов), подобные приложения, как правило, не содержат. Можно лишь запретить загрузку или выполнение соответствующего кода либо на уровне настроек браузера, либо на уровне корпоративных или персональных брандмауэров.
Приложения Macromedia Flash
Приложения Macromedia Flash являются сегодня наиболее популярным расширением функциональности Web-браузеров — с их помощью многие Web-дизайнеры придают своим сайтам интерактивность и оригинальность.
Модель безопасности приложений Flash основана на том, что Macromedia Flash Player, как и виртуальная Java-машина, выполняет приложения в ограниченном адресном пространстве, при этом выполняемые приложения не имеют доступа к файловой системе (кроме одного конкретного каталога, используемого Macromedia Flash Player для служебных целей) и другим ресурсам компьютера пользователя; исключение делается для микрофонов и видеокамер, однако пользователь должен дать разрешение на передачу данных, полученных с этих устройств. Доступ к сетевым ресурсам ограничивается доменом, с которого было получено приложение. Отметим, что приложения Flash также могут управляться с помощью кода JavaScript, присутствующего на той же странице. Сам Macromedia Flash Player для Microsoft Интернет Explorer является элементом управления ActiveX и использует возможности элементов управления ActiveX для доступа к свойствам приложений Flash из скриптовых языков.
Отметим, что помимо вышеперечисленных наиболее популярных средств расширения функциональности браузеров имеется и ряд других средств, реализованных обычно в виде так называемых модулей расширения (plug-in). Поскольку модули расширения также представляют собой исполняемый код, современные браузеры обладают средствами ограничения возможностей, связанных с их загрузкой и выполнением.
В заключение отметим, что перечисленные средства расширения функциональности HTML-страниц могут быть использованы и в динамических страницах, генерируемых серверными Web-приложениями. Так, в последнее время широкое распространение приобрели средства создания Web-приложений, выполняющихся под управлением Web-серверов и генерирующих динамические HTML-страницы с внедренным в них кодом на скриптовых языках, предназначенным для интерпретации браузером.
Дата добавления: 2019-07-15; просмотров: 92; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!