</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>.
Подобный выход из положения используется в HTML довольно часто – применяя какой-нибудь новый тег, автор в целях совместимости располагает между этим тегом и парным ему закрывающим что-нибудь, что будет видеть только старый броузер, игнорирующий новый тег. Новый броузер, который распоз54б нает этот тег, наоборот, должен игнорировать все, что расположено внутри парного тега. Так выглядит тег <OBJECT>, информация которого по-вторена во вложенном теге <EMBED>:
<OBJECT
WIDTH = 320 HEIGHT = 240
CLASSID = «clsid:0D5C3F21-6DF8-11CF-AAEB-02608C9EA5BF»
CODEBASE = Ошибка! Недопустимый объект гиперссылки.
veX/
ocx/nbillbrd.ocx» DATA = «http://www.ncompasslabs.com/ActiveX/inline/
billboard.ods»
>
<PARAM NAME = «Slideshow» VALUE = «1»> <PARAM NAME = «LocalButtons» VALUE = «0»> <PARAM NAME = «Delay» VALUE = «1»>
<EMBED WIDTH = 320
HEIGHT = 240
SRC = «BillBoard.ods»
CODE = «http://www.ncompasslabs.com/ActiveX/
ocx/nbillbrd.ocx» Slideshow = 1 <! – параметры стали атрибутами —> LocalButtons = 0 Delay = 1 >
</OBJECT>
55. Понятие системы VВА
VBA представляет собой подмножество VB и включает средства образования приложений VB, его структуры данных и управляющие структуры, возможность создания пользовательских типов данных. Также как и VB, VBA является системой визуального программирования, управляемого событиями. В нем имеется возможность создания форм со стандартным набором элементов управления и написания процедур, обрабатывающих события, которые возникают при тех или иных действиях системы и конечного пользователя. Также он позволяет использовать элементы ActiveX и автоматизации. VBA представляет собой полноценную систему программирования, но не имеет полный набор возможностей, которыми обладает последняя версия VB.
Программирование в среде VBA обладает рядом особенностей. В частности, в ней нельзя создавать проект независимо от этих приложений.
Из-за того что VBA является визуальной системой, программист способен создавать видимую часть приложения, которая является основой интерфейса «программа – пользователь». Благодаря ему производится взаимодействие пользователя с программой. На принципах объектно-ориентированного подхода, который реализуется в VBA применительно к приложениям, выполняемым под управлением Windows, разрабатывается программный интерфейс.
Характерным для данных приложений является то, что на экране в любой момент присутствует множество объектов (окон, кнопок, меню, текстовых и диалоговых окон, линеек прокрутки). С учетом алгоритма программы пользователь обладает определенной свободой выбора относительно использования этих объектов. То есть он может сделать щелчок по кнопке, перенести объект, ввести данные в окно и т. п. При создании программы программист не должен ограничивать действия пользователя, он должен разрабатывать программу, правильно реагирующую на любое действие пользователя, даже