Программирование
Шрифт:
NAME = идентификатор
Этот необязательный атрибут. Создаваемый объект может внести свой вклад в данные, которые броузер
отправит на сервер после заполнения пользователем HTML-бланка.
SHAPES
Такой пустой атрибут заставляет броузер наложить на прямоугольник, который занимает объект, карту (map), так, чтобы отдельные части этого прямоугольника являлись рабочими частями гипертекстовых ссылок. Координаты этих частей и URL-адреса ссылок для них записываются с помощью тегов <A> со специальными дополнительными атрибутами, которые должны находиться между <OBJECT> и соответствующим ему
</OBJECT>.
STANDBY = текст
В данном атрибуте можно
Переменные свойства объекта всегда одинаковы (по значению и по обозначению) с теми параметрами, которые предоставляются ему с помощью тегов <PA-RAM>. Методами объекта являются функции, вызов которых дает возможность выполнить определенные действия, специфические для этого класса объектов.
52. Практикум Active X
Рассмотрим, как применяются теоретические сведения на практике. Попробуем написать небольшой HTML-файл, вызывающий один из органов управления ActiveX, которые разработала фирма Microsoft, – модуль для образования плавного перехода цветов (градиента). Рассмотрев документацию на данный компонент, можно узнать соответствующий ему идентификатор CLSID и URL-адрес одной его копии на сервере Microsoft, на которую возможно будет сослаться. При этом в том же месте можно отыскать список параметров и их значений, способный принимать этот орган управления, в частности:
StartColor и EndColor
Два цвета, плавный переход между которыми можно увидеть на экране, задаются в простом для HTML виде «#rrggbb», где rr, gg и bb – шестнадцатеричная величина красной, зеленой и синей составляющих цвета.
Direction
Направление градиента: 0 – горизонтальное, 1 – вертикальное, 2 – радиальное от центра к краям и т. д.
Теперь необходимо заполнить атрибуты тега <OBJECT> и учесть нужное количество тегов <PARAM>. Такой вид имеет текст рассматриваемого HTML-файла:
<HTML>
<TITLE>Пример вызова органа управления Acti-
veX</TITLE>
<BODY>
Данный градиент на вид не отличен от простого графического файла:
<OBJECT
ID = «grad1»
CLASSID = «clsid:017C99A0-8637-11CF-A3A9-
00A0C9034920»
CODEBASE = Ошибка! Недопустимый объект гиперссылки. iexplorer/iegrad.ocx#Version = 4,70,0,1161»
WIDTH = 200
HEIGHT = 100
>
<PARAM NAME = «StartColor» VALUE = «#ffffff»> <PARAM NAME = «EndColor» VALUE = «#000000»> <PARAM NAME = «Direction» VALUE = «0»>
</OBJECT>
</BODY>
</HTML>
Открытие такого файла в броузере Internet Explorer станет причиной довольно заметной паузы, во время которой в строке состояния появится надпись «Installing components…». При этом броузер связывается с сервером, который упомянут в атрибуте CODEBASE, и перекачивает с него файл, в котором находится компонент ActiveX (перед этим нужно подключиться к сети).
53. Сценарии и документы
Двуязычие броузера Internet Explorer делает осмысленным или необходимым применение атрибута LANGUAGE тега <SCRIPT> для указания языка сценария. При этом, поддержка двух языков вызвала введение дополнительного необязательного аргумента в тех функциях, одним из аргументов которых служит строка кода. Например, функция setTimeout , которая имеет в Netscape Navigator два аргумента, теперь может использовать третий аргумент, который сообщает данной функции, как интерпретировать строку кода в одном из аргументов – как программу на JavaScript или на VBScript.
Необходимо помнить, что хотя вариант языка JavaScript, применяемый Internet Explorer, и называется «JScript» во всех официальных документах Microsoft, на синтаксис языка это никак не повлияло – во всех местах, где необходимо указать один из двух языков, допустимыми вариантами служат либо «JavaScript», либо «VBScript».
В целом JScript является довольно сильным облегченным вариантом JavaScript. Особенно если сравнивать его с тем JavaScript, который поддерживает Netscape Navigator 3.0. Многих методов, событий, объектов нет вообще, некоторые копировались из Netscape Navigator в большой спешке, и даже в синтаксисе имеются некоторые значительные упрощения – в частности, числовые значения больше не объекты. Очевидно, много сценариев для Netscape Navigator вызовут переделки, прежде чем их сможет осуществить Internet Explorer. Но в настоящий момент Micro soft даже не подготовила официальной документации на свой вариант JavaScript; все, что можно найти на сервере Microsoft, – это документ, называемый «Microsoft Internet Explorer Scripting Object Mo-del», содержащий перечисление поддерживаемых JScript объектов и их свойств и методов.
Рассмотрим, что такое «ActiveX Documents». «Документы ActiveX» дают Интернету то, к чему для рядового пользователя Windows и сводится технология OLE. К примеру, когда в окне Microsoft Word возникает обычная таблица Excel, с которой можно делать все то же самое, что и в самом Excel. Так же HTML-документ способен теперь включать в себя документы любого другого формата, для которых существуют программы просмотра, которые удовлетворяют стандартам OLE.
Для того чтобы человек мог, не покидая своего броузера, познакомиться с содержимым документа в определенном формате X, должны выполняться два условия. Первое – для данного формата должна иметься программа просмотра, которая способна играть роль OLE-сервера. Второе – такая программа должна присутствовать на компьютере пользователя. Ясно, что оба эти условия значительно ограничивают практическое применение этой идеи. Даже несмотря на то, что для любых приложений, которые входят в Microsoft Office, существуют бесплатно распространяемые программы просмотра (Word Viewer, Excel Viewer и т. п.), рассчитывать на их наличие на каждом компьютере не способна даже корпорация Microsoft, не говоря уже о других, не известных фирмах, форматах и программах. Ясно, что о переносе на другую операционную систему здесь не может быть и речи.
54. Netscape Navigator
По мнению пользователей, данный модуль работает очень прилично и иногда даже превосходит в скорости работы органов управления ActiveX сам Internet Explorer. Но надежность его вызывает нарекания. Если очень долго и интенсивно работать со страницами, которые насыщены компонентами ActiveX, то в итоге можно встретить ошибку, которая приводит к зависанию Netscape.
Но с этим вполне можно было бы мириться, если бы не некоторая техническая трудность. Netscape Navigator не различает тег <OBJECT>, и потому, даже если подключен модуль ScriptActive, это не вызывает органы управления, вводимые этим тегом. Вызов подключаемых модулей Netscape осуществляется с помощью тега <EMBED>. Это означает, что авторам, которые стремятся, чтобы органы управления на их страницах работали в обоих броузерах, следует продублировать информацию тега <OBJECT> в теге <EMBED>. А для того, чтобы заставить Internet Explorer не обращать внимания на этот не нужный ему <EMBED> (как известно, Internet Explorer поддерживает этот тег и даже может работать с подключаемыми модулями Netscape), этот тег располагают внутри соответствующей пары тегов <OBJECT> … </OBJECT>.