Июнь 2010

Самоучитель по креативному веб-дизайну. Книга 3, стр.75

Macromedia и другие крупные компании, выпускающие программное обеспече- ние, предоставляют подключаемые модули, позволяющие Netscape Navigator вы- полнять объекты ActiveX, но эти подключаемые модули не являются стандарт- ным компонентом Netscape Navigator.)

Как и в случае с Java-аплетами, для того, чтобы использовать объект ActiveX, вы помещаете дескриптор в HTML-файл — в том месте, где объект должен будет появиться на Web-странице. Для помещения объекта ActiveX на страницу приме —

няется дескриптор.

В отличие от Java-аплетов, которые выполняются в среде браузера, объекты

ActiveX должны размещаться на диске пользователя. Если пользователь заходит

на Web-страницу, на которой имеется объект ActiveX, и этот объект не установ — лен на диске пользователя, Web-сервер предпримет попытку переслать объект на компьютер пользователя. Обычно, в зависимости от заданных пользователем па — раметров безопасности, Web-браузер выводит на экран диалоговое окно, анало — гичное показанному на рис. 9.4, которое предупреждает пользователя, что он со — бирается выгрузить объект ActiveX.



Глава 9. Java-аплеты и объекты ActiveX 45 1





Браузер предупреждает пользователя об объектах ActiveX ввиду того, что, в от — личие от Java-аплетов, модель безопасности которых предотвращает получение

ими доступа к файлам и диску пользователя, объекты ActiveX не являются безо- пасными. Объект ActiveX должен фактически находиться на диске пользователя (или, точнее, на Web-страницах, посещаемых пользователем), прежде чем можно будет использовать этот объект. Более того, в отличие от Java-аплетов, которые выполняются внутри «песочницы», препятствующей их доступу к системным ре- сурсам, объекты ActiveX имеют доступ ко всем файлам и ресурсам компьютера. После того, как пользователь загрузил объект ActiveX, Web-страница может взаи — модействовать с объектом с помощью языка сценариев, такого как VBScript или JavaScript.

Самоучитель по креативному веб-дизайну. Книга 3, стр.76

Если посетитель слишком доверчив и разрешает выгрузку объекта ActiveX с неизвестного Web-сайта, все может просто закончиться установкой программы, содержащей вирус либо посылающей приватные данные пользователя (или, мо — жет быть, даже все содержимое жесткого диска) лицам, не уполномоченным на получение этих данных. Ваша задача как дизайнера — помещать на свои Web- страницы только объекты ActiveX, полученные из надежных источников (напри — мер, Microsoft, Macromedia или от программистов, которым вы доверяете).

Создавая объекты ActiveX, программисты используют множество языков про — граммирования, например, Visual Basic или Visual C++. Эта глава не научит вас писать объекты ActiveX, но расскажет, как встраивать готовые объекты ActiveX в собстсвенные Web-страницы.



Помещение Java-аплета на Web-страницу

Как вы уже знаете, Java-аплет — это программа, которую Web-браузер выпол — няет как составляющую содержимого Web-страницы. Для внедрения аплета в Web-страницу применяются начальный и конечный дескрипторы аплета

() . Внутри дескриптора с помощью атрибута code

задается имя файла Java-аплета (с расширением. clas s или. ja r в случае, если аплет требует нескольких файлов). Также можно использовать другие атрибуты — для задания размеров окна, в котором будет выполняться аплет, а также значе- ний, которые вы хотите передать аплету, — например, текстового сообщения, ко — торое должен отображать аплет.

Самоучитель по креативному веб-дизайну. Книга 3, стр.77

Приведенные ниже дескрипторы, например, внедряют на Web-страницу аплет,

находящийся В файле appletClassName. class!



code=»appletClassName. class» height=»150″ width=»150″>





Обнаружив дескриптор , браузер должен выгрузить аплет с сервера,— примерно так же, как браузер, обнаружив дескриптор , должен выгрузить графический элемент. В данном примере браузер ожидает найти файл аплета

appietciassName. clas s в той же папке, что и Web-страница, в которую внедрен!

аплет. Атрибуты height и width дают Web-браузеру указание выделить аплету \

область 150 на 150 пикселей (то есть создать экран ввода-вывода Java-программы

150 пикселей в высоту и 150 пикселей в высоту).

45 2 ‘ Глава 9. Java-аплеты и объекты ActiveX





В качестве первоначального разработчика языка программирования Java, ком — пания Sun Microsystems на своем Web-сайте (http://www. java. sun. com) предла —

гает множество простых Java-аплетов. На рис. 9.5, например, показан Java-аплет,

с помощью которого можно вывести на Web-странице простые стрелочные часы.

Чтобы приступить к работе с Java, для начала воспользуйтесь предлагае — мым Sun аплетом часов со стрелками, который можно выгрузить либо с Web — сайта компании Sun, либо с сайта издателя русскоязычной редакции этой

КНИГИ, КОТОРЫЙ нахОДИТСЯ ПО адресу http://www. diasoft. kiev. ua. Выгружая

приложение, вы на самом деле выгрузите zip-файл с именем demo. zip, кото —

рый содержит в себе. class-файлы аплета (в данном случае Anaiogciock. class,

CustomParser. class, JavaClock. class И ParamParser. class), В папку на своем Web-сайте. Выгрузив zip-файл, вы должны будете его распаковать. Распаковывая файл, поместите. class-файлы аплета в папку, в который вы сможете создать

HTML-документ, который будет содержать аплет.

Далее, создайте HTML-файл с именем FirstAppiet. html, содержащий в себе

следующий дескриптор , который внедряет аплет часов со стрелками в

Web-страницу:



code=»JavaClock. class» height=»150″ width=»150″>





С ПОМОЩЬЮ браузера ОТКрОЙТе фаЙЛ FirstApplet. html.

Обнаружив дескриптор , браузер выгрузит файл аплета. После трансляции обобщенного байт-кода аплета браузер запустит аплет на выполнение, отобразив показан — ные на рис. 9.5 стрелочные часы.

Самоучитель по креативному веб-дизайну. Книга 3, стр.78

Хотя аплет стрелочных часов использует четыре вышепере —

численных. class-файла, в дескрипторе вы указы — ваете ТОЛЬКО ОДИН ИЗ НИХ — JavaClock. class. Когда ВЫ ВНе — дряете аплет с несколькими .class-файлами, имя класса, которое нужно присвоить атрибуту code, вам подскажет до — кументация аплета.

Задание месторасположения аплета на Web-странице

Аплет, подобно графическому изображению, занимает место на вашей Web — странице, и месторасположение области просмотра аплета вы задаете (как и в случае с графическим изображением), помещая начальный и конечный дескрип —

торы аплета ( ) в HTML-код Web-страницы там, где аплет должен появиться на странице. Web-браузер сам позаботится о выполнении Java- кода, содержащегося в аплете, и отображении результатов в окне просмотра ап — лета. Внутри Web-страницы вы обращаетесь с аплетами так же, как и с прочими объектами, такими как изображения, текст, анимация и видеоклипы — то есть, в

общем случае^ вам необходимо только определить размер области просмотра ап —

лета и где эта область должна находиться на вашей Web-странице. Например, приведенный ниже HTML-код поместит аплет часов со стрелками под текстом в

верхней части страницы и между двумя изображениями (см. рис. 9.6).

Глава 9. Java-аплеты и объекты ActiveX 45 3





45 4 Глава 9. Java-аплеты и объекты ActiveX



Рис. 9.7. Web-страница с изображением, выровненным по левому краю,

и аплетом, выровненным по правому краю



Внутри Web-страницы можно использовать атрибут align, чтобы указать Web — браузеру, где поместить текст относительно и изображения, и аплета. В данном

примере, aiign= M ieft » в дескрипторе дает браузеру указание поместить

изображение по левому краю страницы и расположить текст справа от картинки.

Аналогично, aiign= M right » в дескрипторе дает браузеру указание помес — тить аплет по правому краю и расположить текст слева от области просмотра аплета.

Когда необходимо, чтобы аплет — то есть его область просмотра — появлялся

в определенном месте на Web-странице, вы можете воспользоваться HTML-таб — лицей (как это было в практикумах главы 2) или правилами каскадного списка

стилей (вы проходили это в практикумах главы 4). Например, чтобы располо- жить аплет по центру Web-страницы между двумя колонками текста, как показа —

но на рис. 9.8, можно воспользоваться таблицей с границами нулевой ширины

(то есть скрытыми), как показано ниже:







HTML & Web Design Tips & Techniques







Текст в первом столбце таблицы появляется слева от amieTa




Глава 9. Java-аплеты и объекты ActiveX 45 5



Рис. 9.8. Web-страница с аплетом, расположенным между колонками текста с помощью таблицы



Проще говоря, обращаться с Java-аплетом вы будете так же, как и с изображе —

нием, вставляемым в Web-страницу. Как и в случае с изображением, выберите, где должна будет находиться прямоугольная зона просмотра аплета, а затем

вставьте начальный и конечный дескрипторы аплета () в HTML-код Web-страницы рядом с прочими объектами или внутри ячейки табли- цы, чтобы расположить объект в конкретном месте на странице.

Передача параметров аплету

В Web можно найти десятки сайтов с сотнями аплетов, которые вы можете использовать на собственных Web-страницах. Некоторые аплеты сопровождаются исходным кодом, который можно модифицировать и затем компилировать, дабы тем самым персонализировать аплет в соответствии со своими потребностями. Однако большинство аплетов позволяют задать начальные значения, называемые

Самоучитель по креативному веб-дизайну. Книга 3, стр.79

параметрами {parameters), с помощью которых можно изменить внешний вид и выходные данные аплета, не утруждая себя вообще никаким кодированием.

При выгрузке аплета из Web документация, которую программист предостав — ляет вместе с аплетом, должна сообщить вам имя и назначение каждого пара — метра, принимаемого аплетом. Чтобы передать аплету значения, вам нужно про —

сто вставить между начальным и конечным дескрипторами аплета (

) дескриптор с именем и значением каждого из параметров, которые вы хотите передать:



width=»ширина_в пикселях»height=»выеота в ликселях»>

param name=»имя параметра_1″ value=M значение_параметра_1″>







45 6 Глава 9. Java-аплеты и объекты ActiveX





Чтобы вам было проще понять, как передача значений параметров Java-аплету

позволяет «персонализировать» обработку, выполняемую аплетом, рассмотрим

предлагаемый Sun Microsystems аплет NervousText. class, который реализует анимацию букв в строке текста, «нервно дергая» их, как показано ниже. Аплет

NervousText (см. рис. 9.9) можно выгрузить из Web-сайта компании Sun либо

из сайта издательства русскоязычной редакции этой книги, который находится

ПО адресу http://www. diasoft. kiev. ua.





Выгрузив и распаковав аплет NervousText, вы можете внедрить его в HTML —

страницу с помощью следующего дескриптора :



width=»468″ heigh t=» 50 «X/applet>



Хотя текст, отображаемый аплетом NervousText, дает интересный анимацион — ный эффект, вы наверняка захотите изменить этот текст, прежде чем использо — вать аплет для отображения «дергающегося» текста на своих Web-страницах. Без

параметров вам пришлось бы выгружать исходный Java-файл аплета

(NervousText. java), редактировать строку текста, анимацию которой выполняет

аплет (то есть «Hot Java»), а затем компилировать программу в новый. class —

файл, который затем и будет размещаться на Web-странице. К счастью, аплет

NervousText позволяет использовать для передачи строки для анимации пара —

метр, так что вам не придется ничего программировать, чтобы изменить текст, отображаемый аплетом.

Чтоб ы апле т NervousText. clas s ВЫПОЛНИЛ анИМаЦИЮ СТрОКИ «I’ m nervou s

unti l i have my Java.», при внедрении аплета в Web-страницу нужно ука —

зать И дескриптор :



width=»510″ height=»50″>

param name=»text» value=»I’m nervous until I have my Java.»>



После того, как вы загрузите HTML-файл, содержащий задающий параметр дескриптор , в свой браузер, аплет будет использовать текст параметра, как показано на рис. 9.10.









Рис. 9.10. Java-аплет NervousText. class с новым текстом, переданным ему в параметре



Если передаваемое вами значение параметра изменяет объем пространства, необходимого аплету для отображения своих выходных данных, вы должны соот- ветствующим образом увеличить значения атрибутов width и height дескрипто —

Самоучитель по креативному веб-дизайну. Книга 3, стр.80

ра . В данном примере увеличение длины анимированного текста тре — бует увеличения ширины области, отведенной под аплет на Web-странице. Если

Глава 9. Java-аплеты и объекты ActiveX. 45 7





размер заданной вами (с помощью атрибутов width и height дескриптора

) области слишком мал, браузер просто отсечет ту часть выходных дан — ных аплета, которая не помещается в область. (Если в документации по аплету

не указаны размеры его области вывода или если вы передаете значение пара — метра, изменяющее выходные данные аплета, вам может понадобиться провести несколько экспериментов с различными значениями атрибутов width и height, пока вы не найдете удобоваримые размеры.)



Понятие файлов Java-архивов (.jar)

Одно из критических замечаний в адрес Java-аплетов связано со временем,

необходимым Web-браузеру на выгрузку файлов, входящих в состав того или ино —

го аплета. Каждый раз, когда браузер извлекает Web-страницу с внедренным ап —

летом, браузер должен извлекать аплет, как и графические изображения, звукб — вые файлы и прочие внедренные объекты. Большим и более сложным аплетам зачастую требуется несколько файлов классов, каждый из которых браузер дол — жен выгрузить, прежде чем он сможет запустить аплет.

Чтобы уменьшить время, затрачиваемое на загрузку, программисты на Java ча- сто сохраняют файлы аплета (файлы классов, графические файлы, звуковые фай —

лы и т. д.) в файле Java-архива (или. jar) . Файл. ja r можно представить себе как нечто подобное сжатому zip-файлу. Сохраняя файлы аплета в одном. jar — файле, программист уменьшает время, необходимое Web-браузеру на то, чтобы выгрузить аплет с Web-сервера.

Самоучитель по креативному веб-дизайну. Книга 3, стр.81

Чтобы использовать при внедрении объекта .jar-файл, необходимо добавить

в дескриптор атрибут archive, как показано ниже:



code=»JavaClock. class» width=»150″ height=»150″

archive—1 Clock, jar»>





В данном случае, обнаружив дескриптор , браузер установит HTTP —

соединение с сервером и запросит файл Java-архива с именем clock, jar. Если файла архива не существует, большинство браузеров предпримут попытку извлечь вместо него отдельные .class-файлы аплета. Обратите внимание, что имя файла

архива не обязательно должно совпадать с именем. class-файла аплета.



Атрибут codebase

Если вы храните свои. class-файлы в папке, отличной от той, в которой

хранятся HTML-документы, вы должны указывать в дескрипторе атри —

бут codebase, чтобы сообщить Web-браузеру, где найти .class-файл, заданный атрибутом code. Предположим, например, вы храните свои файлы Web-страниц

в папке HTDOCS Web-сайта, а. class-файлы — в папке с именем classes. Если обе папки находятся в корневой папке Web-сайта, для внедрения аплета

JavaClock. clas s Вам понадобится СЛедуЮЩИЙ атрибут codebase В Дескрипторе

:



width=»150″ height=»150″>



4 5 8 Глава 9. Java-аплеты и объекты ActiveX





С помощью атрибута codebase можно также дать браузеру указание внедрить

в Web-страницу Java-аплет, находящийся на другом Web-сайте. Чтобы внедрить удаленный аплет, просто укажите в атрибуте codebase полный URL-адрес папки, содержащей .class-файлы аплета. Например, чтобы внедрить в свою Web-стра- ницу аплет стрелочных часов, находящийся в папке classe s на сайте www. NVBizNet. com, следует воспользоваться приведенным ниже атрибутом

codebase:



code=»JavaClock. class» width=»150″ height=»150″>





Будьте осторожны, внедряя аплеты, находящиеся на других Web-сайтах.

Помните, что Web-браузер должен выгрузить все. class-файл ы аплета после извлечения

страницы с внедренным аплетом. Если кто-нибудь удалит .class-файлы или переместит их в другую папку, Web-браузер не сможет извлечь их и, следовательно, не сможет отобразить аплет на вашей Web-странице. За исключением случаев, когда содержимое на удаленном сайте вами контролируется, выгрузите. class-файл ы аплета в папку на своем Web-сайте, чтобы аплет был доступен всегда, когда он понадобится.

Самоучитель по креативному веб-дизайну. Книга 3, стр.82



Внедрение в Web-страницу объекта ActiveX

Как и Java-аплет, объект ActiveX предоставляет программный код, который Web-браузер должен выполнять как составляющую содержимого вашей Web-стра — ницы. Чтобы внедрить в Web-страницу объект ActiveX, вставьте объект так же,

как вы бы вставили аплет, только вместо дескриптора для помещения

на страницу объекта ActiveX воспользуйтесь начальным и конечным дескрипто- рами Объекта ().

Предположим, например, вы хотите отобразить на своей странице биржевую сводку с финансового Web-сайта Microsoft Network (MSN), который находится по

адресу http://moneycentrai. msn. com. Для этого вам потребуется вставить в

HTML-код своей Web-страницы, — в то место, где на Web-странице должна по —

явиться показанная на рис. 9.11 биржевая сводка, — следующий код:



id=»StockTickerM width=»100%» height=»34″

type=»application/x-oleobject»

classid=Mclsid:52ADE293-85E8-HD2-BB22-00104B0EA281″

codebase=»http://fdl. msn. com/public/investor/v7

/ticker. cab#version=7,1999,1104,1″>





дескриптор позволяет запускать элемент управления ActiveX в браузере Netscape Navigator б (и выше) —>

clsid=»52ADE2 93-85E8-HD2-BB22-00104B0EA2 81″

codebase=»http://fdl. msn. com/public/investor/v7

/ticker. cab#version=7,1999,1104,1м

width=»100%» height=»34″

serverroot=»http://moneycentral. msn. com»

Глава 9. Java-аплеты и объекты ActiveX 45 9





Просмотрев содержимое дескриптора, вы обнаружите некоторые

сходные черты с дескриптором . Атрибуты в дескрипторе име — ют следующее назначение:

• id. Уникальное имя, которое вы присваиваете объекту, чтобы другие объекты на той же Web-странице могли взаимодействовать с объектом, и чтобы вы могли работать с объектом (по имени) в сценариях, вставленных в страницу.

• width, height. Начальные размеры объекта в пикселях. Имейте в виду, что объект ActiveX может изменять размер (и месторасположение) своей области просмотра. Хотя биржевая сводка в данном примере и Shockwave — анимация Macromedia (которую вы будете внедрять в следующем примере) сохраняют заданные размеры, всплывающее меню ActiveX, например, будет сначала иметь размеры стандартной кнопки, однако увеличится до разме — ров, необходимых для отображения всех пунктов меню.

• type. Необязательный атрибут, идентифицирующий тип внедряемого со — держимого.

• classid. Атрибут, идентифицирующий реализацию объекта: то есть, имя исполняемой программы, которую вы хотите выполнить. Длинная строка цифр и букв, присвоенная атрибуту classi d — это 128-битовое значение, называемое глобально уникальным идентификатором (globally unique

Самоучитель по креативному веб-дизайну. Книга 3, стр.83

identifier — GUID). Программист, написавший приложение ActiveX, с по — мощью специального программного средства (GUIDGEN. EXE) создает уни —

кальный GUID — что значит, что никакие две программы не могут иметь

одинаковые GUID-ндентификаторы.

• codebase. Атрибут, задающий местонахождение, откуда браузер сможет (если понадобится) выгрузить программу, заданную атрибутом classid. (Если браузер ранее выгрузил и установил объект ActiveX, он будет ис- пользовать локальную копию вместо того, чтобы загружать программу за — ново.) Если вы опустите атрибут codebase, браузер будет искать реализа — цию (то есть объект ActiveX) в той же папке, что и документ, в который вы внедрили объект. В данном примере атрибут codebase сообщает брау —

зеру, что реализация находится внутри. cab-файла. (Программисты поме —

щают программу, требующую для установки более одного файла, в. cab — файл,- так же, как разработчики на Java используют. jar-файлы.)

• param. Значения, которые должны быть переданы программе ActiveX во время выполнения. Обычно параметры содержат настроечную информацию

и начальные значения переменных программы.

46 0 Глава 9. Java-аплеты и объекты ActiveX





Хотя значения атрибутов classi d и codebase кажутся неподдающимися рас —

шифровке, пусть вас не волнует то, как эти значения генерируются. Програм — мист, написавший программу ActiveX или документацию на программу, выгру- женную вами из Internet, снабдит вас обоими этими значениями. Ваша же главная задача как дизайнера — решить, что должен делать объект ActiveX и где он должен находиться на вашей Web-странице. Программисты напишут и ском —

пилируют программу и сохранят код (то есть реализацию) в папке на Web-серве —

ре. Почитав документацию (или спросив у программиста), вы просто «вставите»

предоставленные вам значения атрибутов classi d и codebase.



Как сделать, чтобы объекты ActiveX работали и с Netscape

Navigator, и с Internet Explorer

К сожалению, две компании, браузерами которых, по всей вероятности, будут пользоваться 95% посетителей вашего сайта, не смогли достичь согласия в воп — росе «наилучшего» способа внедрения внешних программ в Web-страницы. В то

Самоучитель по креативному веб-дизайну. Книга 3, стр.84

время как в Internet Explorer для повышения функциональных возможностей бра —

узера используются дескрипторы и объекты ActiveX, в Netscape Navigator применяются дескрипторы и подключаемые модули (которые представляют собой внешние вспомогательные программы).

Результатом — то есть тем, что как раз и заботит вас как дизайнера — стало то, что Netscape Navigator не будет запускать объект ActiveX, пока вы не устано — вите специфический подключаемый модуль. Кроме того, Netscape Navigator тре — бует использования для внедрения программы, которую должен выполнить брау —

зер, дескриптора, а не дескриптора. Кг счастью, вы можете

ВСТавИТЬ Начальны й И КОНечНЫЙ десКрИПТОрЫ внедрени я () внутри начального и конечного дескрипторов объекта (), и каждый из браузеров будет игнорировать дескриптор, предназначенный для дру — гого браузера. Подключаемые модули, которые вы должны загрузить и устано — вить, будут разными в зависимости от вашей версии Netscape Navigator.

Подключаемые модули, снабжающие Netscape Navigator поддержкой ActiveX,

можно найти на нескольких Web-сайтах. В первую очередь стоит посетить

http://esker. com, откуда вы сможете выгрузить подключаемый модуль, поддер — живающий широкий диапазон объектов ActiveX. Кроме того, найти ссылки на другие подключаемые модули и пояснения действий, которые вам необходимо будет предпринять для установки в зависимости от вашей конкретной версии



Полезные ссылки
Случайные записи
  • 28.02.2011">Руководство по actionscript. часть 5, стр. 135
  • 06.07.2011">Технология Active X на страницах сайта
  • 13.03.2011">Руководство по actionscript. часть 3, стр. 089
  • 19.03.2011">Руководство по actionscript. часть 2, стр. 106
  • 17.03.2011">Руководство по actionscript. часть 3, стр. 006
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.94
  • 17.07.2019">Выбираем ноутбук: игровой или офисный?
  • 26.02.2011">Руководство по actionscript. часть 6, стр. 056
  • 17.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.120
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.131
  • 15.01.2010">Flash сайты
  • 06.10.2012">Google и американские издатели урегулировали семилетний спор
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.67
  • 27.02.2011">Руководство по actionscript. часть 6, стр. 039
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.79
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...



width=»150″ height =»150″X/appletX/td>



Текст в третьем (слева) столбце таблицы появляется справа от

аплета, потому что сам аплет находится во втором столбце, который является центральным столбцом таблицы с тремя

столбцами.