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



value=»flo6po пожаловать в JavaScript, описанный в этой книге!»>





Глава 8. JavaScript. 44 3





Если вы хотите отобразить бегущую строку иной длины, измените значение атрибута siz e на максимальное число символов, которые должны быть отобра — жены на экране. (Также не забудьте установить значение атрибута value равным текстовой строке, которую бегущая строка должна будет прокручивать на экра — не.) Затем, чтобы создать эффект бегущей строки, вставьте следующую функцию между начальным и конечным дескрипторами сценария ( ) в заголовке своей Web-страницы:



var StartPos = 0;

function scrollingMarquee()

{

var i

var Padding =20 ; // количество пробелов между повторениями

var ScrollingText = document. marquee. marquee^text. value;

var StringLength = document. marquee. marquee_text. value. length;

var TimerlD;

// Интервал — это количество пробелов между концом

// бегущего текста и началом следующей копии этого текста

for(i=l; i

document. marquee. display area. value=

ScrollingText. substring(StartPos,

StartPos + StringLength + Padding);

if(StartPos++==(StringLength + (Padding — 1) ) ) StartPos=0;

// Ожидать 200 миллисекунд, прежде чем перейти на 1 символ вправо

TimerlD • setTimeout(«scrollingMarquee()»,200);

}

Помните, на Web-страницу можно поместить сколько угодно форм, поэтому вставка на страницу бегущей строки не помешает вам принимать ввод пользова —

теля в другой форме. Более того, вы можете поместить свою форму или формы в

таблицу. Тогда с помощью таблицы со скрытыми границами вы сможете помес —

тить бегущий текст (то есть поле формы с «бегущим» текстом) именно туда, где

вы хотите видеть его на Web-странице.

Глава9



Java-аплеты и объекты ActiveX





В этой главе



• Создание всплывающего навигационного меню с помощью

аплета



• Анимация строки текста с помощью аплета



Is Отображение и печать календаря на любой год с помощью аплета



^ Отображение с помощью аплета отрывка, случайным образом выбранного из текстового файла



• Создание с помощью аплета навигационного меню, выполняющегося в отдельном окне



• Прокручивание содержимого файла по вертикали в прямоугольной области на экране с помощью аплета



• Анимация синусоидальных колебаний изображения с помощью аплета



• Редактирование исходного Java-кода для компиляции пользовательского аплета



• Добавление в Web-страницу Internet-чата с помощью элемента управления ActiveX Microsoft Chat



• Использование только объектов ActiveX в Internet Explorer

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





з главы 8 вы узнали, как создавать с помощью JavaScript сценарии,

[которые помещаются в HTML-файлы. Обнаружив JavaScript, Web-браузер выполняет соответствующие операторы. Хотя JavaScript предоставляет немало возможностей в области создания простых сценариев, JavaScript не предусматри — вает средств, с помощью которых программисты могли бы создавать мультиме —

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

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

В частности, с помощью Java программисты создают Web-приложения, назы —

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

коде HTML-страницы дескриптор , браузер выгружает с сервера и за —

пускает на выполнение указанный аплет. Java-аплеты прекрасно подходят для использования в Web по следующим причинам:

• Java-аплеты являются обобщенными, что значит, что один и тот же аплет будет запускаться под Windows, Linux, MacOS и не только (обобщенная

природа Java делает аплеты в большей степени переносимыми, то есть про- граммисты могут легко переносить аплет с компьютера одного типа на компьютер другого типа с иной операционной системой).

• Java-аплеты не могут получить доступ к диску или файлам пользователя, что значит, что аплет не может поместить на компьютер пользователя ви — рус, а также не имеет доступа к информации, сохраненной на диске пользователя.



В этой главе рассматриваются действия, которые вам потребуется выполнять

для встраивания Java-аплетов в свои Web-страницы. Глава также содержит не- сколько готовых к выполнению аплетов, которые вы сразу же сможете использо- вать. Java-аплеты — это программы, a Java — мощный язык программирования. Эта глава не научит вас программировать на Java, однако покажет, как выгружать средства программирования на Java и с их помощью вносить несложные измене — ния в Java-программы. Из Web можно выгрузить код множества Java-аплетов. Ап — леты зачастую можно персонализировать в соответствии со своими потребностя — ми путем внесения нескольких простых изменений в программный код,— например, изменить имена файлов, которыми оперирует программа, или текст, который программа выводит на экран. В этой главе описывается, как вносить та- кие изменения в Java-программу и как затем заново скомпилировать аплет, что — бы изменения вступили в силу.

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

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

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





• Объекты ActiveX не являются обобщенными. В отличие от Java-аплетов,

поддерживающих Windows, Linux, Macintosh и не только, объекты ActiveX

существуют только для платформы Windows.

• Объекты ActiveX не являются безопасными. В отличие от Java-аплета, ко- торый выполняется внутри браузера и не может получить доступ к диску и файлам пользователя, объект ActiveX располагается на диске пользователя

и получает доступ ко всем ресурсам системы. «Злоумышленный» объект

ActiveX, например, может внедрить вирус, а также может похитить, повре — дить либо уничтожить информацию на диске пользователя.

Принимая во внимание то, что объекты ActiveX поддерживают только плат — форму Windows, и что объекты ActiveX не безопасны, вы можете задать логичный вопрос — зачем вообще использовать объекты ActiveX? Поскольку объекты ActiveX располагаются на компьютере пользователя, они могут взаимодействовать

с Windows, благодаря чему с помощью этих объектов программисты могут созда- вать очень мощные решения. В Internet общепризнанным фактом является то,

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



Как браузер выполняет Java-аплет

Java-аплет хранится в файле. На протяжении многих лет программисты^ на

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

Как показано ниже, с помощью дескриптора можно указать имя файла аплета:









Хотя браузеры все еще поддерживают дескриптор , в соответствии с требованиями комитета W3C для вставки Java-аплетов в Web-страницы следует использовать дескриптор, как показано ниже:









Просматривая HTML-файлы, в которых используются Java-аплеты, вы обнару —

жите, что дескриптор распространен весьма широко. Комитет W3C,

однако, настоятельно не рекомендует применять дескриптор , но реко — мендует использовать дескриптор. Теоретически, в будущем браузеры

могут вообще прекратить поддерживать дескриптор . Однако по причи —

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

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





времени в будущем. Кроме того, пока все браузеры не будут полностью поддер —

живать дескриптор, вы наверняка столкнетесь с меньшим числом про —

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

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

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

.class. В данном случае дескриптор дает браузеру указание выгрузить

файл аплета с именем Demo. class. Загрузив файл аплета, браузер выполняет

операторы аплета. Рисунок 9.1 иллюстрирует процедуру индентификации, выг — рузки и выполнения Java-аплета браузером.





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

ся специфическим для аппаратного обеспечения и платформы операционной си — стемы. Например, программист может создать приложение, которое будет вы — полняться на процессоре Intel (или совместимом с ним) под управлением Windows, или на процессоре Motorola под управлением MacOS. Если програм — мисту нужно поддерживать обе среды (Macintosh и Windows), ему придется со — здать две отдельные программы. Приложение на базе Windows не будет запус — каться на Macintosh и наоборот.

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

ниями. Вместо программного кода, специфического для процессора Intel или для процессора Motorola, Java-аплеты содержат типовые наборы инструкций, ко —

торые программисты называют байт-кодом (bytecode). Выгрузив Java-аплет, брау — зер преобразовывает типовой байт-код в машинно-зависимый код, который мо — жет выполняться процессором пользователя. Иными словами, браузер на

компьютере, работающем под управлением Windows, преобразует байт-код в Intel-специфические инструкции. Аналогично, браузер на Macintosh преобразует байт-код в Motorola-специфические инструкции. Благодаря использованию ти — пового байт-кода один и тот же Java-аплет может работать на разнообразных платформах, как показано на рис. 9.2.

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

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







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

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

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

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

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

Почему выполнение Java-аплетов безопасно

Всякий раз, выгружая из Web исполняемую программу, пользователь подверга —

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

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





Java-аплеты не являются автономными исполняемыми программами. Нельзя, например, выгрузить Java-аплет и просто запустить его на выполнение под уп — равлением Windows или Unix. Вместо этого, аплеты могут выполняться только внутри браузера.

Когда компания Sun Microsystems разрабатывала язык программирования Java,

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

щимся на диске’пользователя. Как показано На рис. 9.3, Java попросту не предо — ставляет программистам средств, необходимых для выполнения операций на компьютере пользователя. Более того, Java-аплеты не могут считывать свойства системы, загружать файлы библиотек или открывать сетевые подключения к сай — там иным, нежели хост, с которого они были выгружены.

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





Как вы уже знаете, Java-аплет выполняется в среде Web-браузера пользователя. Специальное программное обеспечение внутри браузера, которое выполняет аплеты, программисты называют виртуальной Java-машиной {Java Virtual Machine — JVM).

Когда браузер обнаруживает в HTML-файле дескриптор , браузер, по сути дела, передает аплет виртуальной Java-машине, которая, в свою очередь, загружает, транслирует (байт-код в машинно-зависимый код) и выполняет аплет.

Модель безопасности, используемую виртуальной Java-машиной для выполнения

аплетов, программисты часто называют «песочницей» {sandbox). «Песочницу» можно представить в себе в виде ограждения, окружающего аплет и не допускающего Java — программу в закрытые для общего доступа области в памяти и на жестком диске.

Как браузер выполняет объект ActiveX

Объекты ActiveX сходны с Java-аплетами в том, что они дают возможность до —

бавлять в Web-страницы программы. В Web можно найти тысячи объектов

ActiveX (называемых программистами также элементами управления ActiveX

{ActiveX controls)), которые выполняют множество разнообразных задач — от ото —

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





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

• http://activex. microsoft. com/activex/activex/

• http://visualbasic. about. com/cs/activexfree/

• http://webreference. com/programming/activex. html

• http://activex. microsoft. com

• http://zdnet. com/devhead/



ActiveX, в отличие от Java, не является языком программирования. Скорее, ActiveX — это средство встраивания объектов, написанных на различных языках, внутри среды Windows. К сожалению, даже через много лет с момента своего первоначального появления, ActiveX по-прежнему работает только в среде Windows (то есть не существует объектов ActiveX для Unix или Macintosh), и под — держка ActiveX не является стандартной функцией Netscape Navigator. (Microsoft,

Самоучитель по креативному веб-дизайну. Книга 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 стрелочные часы.



Полезные ссылки
Случайные записи
  • 10.03.2011">Руководство по actionscript. часть 4, стр. 026
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.65
  • 11.03.2011">Руководство по actionscript. часть 4, стр. 013
  • 03.03.2011">Руководство по actionscript. часть 5, стр. 058
  • 13.03.2011">Руководство по actionscript. часть 3, стр. 096
  • 17.06.2012">В Великобритании возобновили расследование по Google Street View
  • 19.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.22
  • 14.03.2011">Руководство по actionscript. часть 3, стр. 085
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 044
  • 06.03.2011">Руководство по actionscript. часть 4, стр. 153
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.82
  • 25.02.2011">Руководство по actionscript. часть 6, стр. 095
  • 14.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.72
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.78
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 083
Опрос

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

View Results

Loading ... Loading ...