@HEAD | Указывает, что дальше идут заголовочные данные. Каждый пункт новостей начинается со строки @HEAD (то есть заголовка). Заголовочные данные могут располагаться на нескольких строках. Следующий за ними дескриптор @URL, @MSG или @END прекращает действие дескриптора заголовка. |
@URL | Указывает, что дальше идут данные гиперссылки. Аплет будет воспринимать весь текст до следующего дескриптора @end как часть гиперссылки, на которой посетитель может щелкнуть, чтобы загрузить другую Web-страницу. |
@FRAME | Указывает, что дальше идет имя целевого фрейма или целевого окна. Дескриптор @FRAME должен находиться после дескриптора @URL расположенного на предыдущей строке. |
@MSG | Указывает, что дальше идут данные сообщения. Чтобы завершить сообщение, необходимо поместить дескриптор @END в строку, следующую за последней строкой сообщения. |
@END | Указывает, что строка в файле новостей является завершающей строкой сообщения. |
Примером того, как определять заголовки, гиперссылки и сообщения для отображения аплетом, может послужить содержимое файла News.txt, который вы извлекли из архива NewsScroller.zip.
Анимация синусоидальных колебаний изображения с помощью аплета
В предыдущем практикуме было показано, как выполнить анимацию текста с помощью аплета, который перемещает текст слева направо (или справа налево) по экрану в соответствие с синусоидальным законом. Вместо того, чтобы для создания анимированного баннера прокручивать текст по синусоиде, можно воспользоваться аплетом sinLogo.class для анимации статического изображения, например, логотипа, как показано на рис. 9.19.

Рис. 9.19. Два представления одного и того желоготипа:
слева — статический логотип, справа — анимированный логотип
Обратите внимание, что буквы в верхнем логотипе на рис. 9.19 находятся на одном уровне. Символы же в нижнем логотипе находятся на неодинаковой высоте, демонстрируя, как аплет выравнивает нижнюю часть логотипа вдоль синусоиды.
ПРАКТИКУМ
Аплет sinLogo.class вместе с исходным кодом доступен на сайте издателя русскоязычной редакции этой книги. Скопировав архив sinLogo.zip в папку на своем компьютере, извлеките из него файл sinLogo.class. Затем, чтобы использовать аплет на своей Web-странице, скопируйте sinLogo.class и изображение, анимацию которого необходимо выполнить, в ту же папку, где находится код Web-страницы. Далее вставьте приведенные ниже строки в HTML-код Web-страницы, туда, где должен будет появиться анимированный текст:
<applet code = "SinLogo. class" width = "363" height = "97">
<param name = "image_logo" value = "Web4.gif">
<param name = "angle_add" value = "1.9">
<param name = "bg_red" value = "0">
<param name = "bg_green" value = "0">
<param name = "bg_blue" value = "0">
</applet>
Для настройки анимационного эффекта, создаваемого аплетом, используются следующие параметры:
image_logo | Имя и путь GIF - или JPEG-файла, анимацию которого необходимо выполнить с помощью аплета. |
angle_add | Коэффициент, то есть величина, на которую аплет смещает частицы изображения от базовой синусоиды. Чем выше это значение, тем больше будет амплитуда движения вверх-вниз различных частей изображения. По умолчанию — "0.5". |
bg_red | Значение красной RGB-составляющей цвета фона (заданное в десятичном виде). |
bg_green | Значение зеленой RGB-составляющей цвета фона (заданное в десятичном виде). |
bg_blue | Значение синей RGB-составляющей цвета фона (заданное в десятичном виде). |
Аплет работает, превращая цвет пикселей в части изображения в цвет фона, в то же время превращая цвет пикселей в фоне другой части картинки в цвет изображения. Таким образом, самое главное — это задать параметры bg_red, bg_green и bg_blue, которые сообщают аплету цвет фона, чтобы аплет смог создать видимость того, что частички изображения исчезают и вновь появляются по синусоидальному закону.
Редактирование исходного Java-кода
для компиляции пользовательского аплета
На протяжении этой главы вы настраивали аплеты в соответствии со своими потребностями с помощью дескриптора <param>. В Web можно найти сотни готовых аплетов, которые можно свободно выгружать и включать в состав своих Web-страниц. Обычно настраивать аплеты можно с помощью дескриптора <param>, как это делалось в предыдущих практикумах. Тем не менее, некоторые аплеты не принимают параметры настроек. Чтобы персонализировать те аплеты, которые не позволяют передавать значения настроек посредством дескриптора <param>, вам придется редактировать операторы Java-программы, которые были написаны программистом, создавшим аплет. Следовательно, настраивать такие аплеты можно только в том случае, если программист дает вам возможность загрузить файл с исходным кодом. Прежде чем начать корректировать Java-аплеты путем редактирования операторов программы, вы должны понимать действия, выполняемые программистом при создании аплета.
Разрабатывая программу, программист с помощью языка программирования, например, Java, Visual Basic или C+ + , задает инструкции, которые должны быть" выполнены компьютером. Инструкции (то есть операторы программы) программист помещает в файл, который носит название исходного файла программы (в данном случае - аплета). Точно так же, как вы можете с помощью ряда текстовых редакторов создавать HTML-документы, программисты могут пользоваться различными редакторами для создания исходного файла аплета. Подобно тому, как для HTML-страниц используются расширения файлов . htm или .html, для исходных файлов Java используется расширение .java.
Ранее в этой главе рассматривался аплет NervousText, который "дергает" на экране буквы в текстовом сообщении, так, чтобы буквы казались "нервными". Приведенные ниже операторы представляют собой исходный код упрощенной версии аплета, которую можно назвать Nervous.java. (Язык программирования Java чувствителен к регистру, это значит, что он отличает заглавный и строчный варианты одной и той же буквы. Следовательно, создавая исходный файл Nervous.java, не забудьте использовать в имени файла заглавную "N".)
import java. awt. event.*;
import java. awt. Graphics;
import java. awt. Font;
import java. applet. Applet;
public class Nervous extends Applet implements Runnable
{
String banner;
char bannerChars[];
Thread runner = null;
public void init()
{
banner = "I'm nervous!";
intbannerLength = banner. length();
bannerChars = new char[bannerLength];
banner. getChars(0, banner. length(), bannerChars, 0);
resize(15*(bannerLength + 1), 50);
setFont(new Font("TimesRoman", Font. BOLD, 36));
}
public void start()
{
runner = new Thread(this);
runner. start();
}
public synchronized void stop()
{
runner = null ;
}
public void run()
{
Thread me = Thread. currentThread();
while (runner == me)
{
try
{
Thread. sleep(100);
}
catch (InterruptedExceptione) {}
repaint();
}
}
public void paint(Graphics g)
{
for(int i=0, length = banner. length(); i < length; i++)
{
int x = (int) (10*Math. random() + 15 * i) ;
int у = (int) (10*Math. random() + 36);
g. drawChars(bannerChars, i, 1, x, y ) ;
}
}
Вовсе не обязательно понимать конкретное предназначение операторов в исходном файле Java; цель этого практикума — выгрузить и "ввести в эксплуатацию" комплект инструментальных средств разработчика программного обеспечения на Java (Java Software Development Kit — SDK) из посвященного Java Web-сайта Sun Microsystems. В результате вы сможете скомпилировать свой первый Java-аплет.
Как вы уже знаете, Java-аплет состоит из обобщенного байт-кода (то есть файла, заполненного единицами и нулями), который выполняется браузером. Чтобы преобразовать операторы, которые находятся в исходном Java-файле, в единицы и нули, из которых состоит байт-код, выполняемый Web-браузером, программисты применяют специальную программу, называемую компилятором. Как доказано на рис. 9.20, компилятор преобразует операторы (называемые кодом), находящиеся в исходном Java-файле, в байт-код. Исходный Java-файл обычно имеет расширение . java, а компилятор сохраняет сгенерированный им байт-код в файле с расширением .class. (Как вы видели в предыдущих практикумах, для внедрения аплета в Web-страницу значение атрибута code внутри дескриптора <applet> устанавливается равным имени файла, содержащего байт-код аплета.)

Рисунок 9.20. Компилятор Java преобразует операторы исходного кода в байт-код
Для большинства языков программирования, например, Visual Basic или C++, программистам приходится приобретать компилятор, цена которого может достигать нескольких сотен долларов. Компания Sun Microsystems, однако, предлагает комплект инструментальных средств разработчика программного обеспечения на Java (SDK), содержащий компилятор Java (наряду с другими инструментами программированиями и программами-примерами), совершенно бесплатно. Выгрузить Java SDK можно из сайта http://www. java. .
Комплект Java SDK достаточно велик (более 30 Мб). Для того чтобы выгрузить SDK, вам понадобится достаточный объем свободного пространства на диске, равно как и определенное терпение до завершения выгрузки. Во время выгрузки SDK вы получаете исполняемый файл, который потребуется запустить, чтобы установить Java на ваш компьютер. (Для создания Java-аплетов необходимо, чтобы на вашем компьютере был установлен компилятор Java; для выполнения Java-аплетов необходим только браузер.) После завершения загрузки вам нужно будет запустить программу установки Java SDK. Программа установки даст возможность выбрать папку, в которую должны быть помещены файлы SDK. Для простоты укажите папку Java в корневом каталоге своего диска (программа установки самостоятельно создаст в корневом каталоге эту папку, в которую и будет помещать файлы). После завершения установки Java SDK вам потребуется выполнить несколько простых служебных действий, прежде чем можно будет использовать компилятор для компиляции своего первого аплета.
Компилятор Java представляет собой программу режима командной строки, а это значит, что вы запускаете компилятор не в окне как таковом, а из командной строки. Чтобы помочь вам в приведении в работоспособное состояние компилятора под управлением различных операционных систем (или их версий), Web-сайт компании Sun, посвященный Java, предоставляет набор пошаговых инструкций. Инструкции по установке компилятора в среде Windows (Windows 9x, 2000 и ХР) находятся по адресу http://www. Java. /j2se/1.3/install-windows. html#Environment.
Для лучшего понимания процесса установки компилятора в оставшейся части этого практикума будет рассмотрены действия, которые необходимо выполнять для установки компилятора в среде Windows 9x.
Сначала в среде Windows необходимо запустить компилятор Java из командной строки в окне MS-DOS. Для того чтобы открыть окно MS-DOS, выберите в меню Start | Run (Пуск | Выполнить...). На экран будет выведено диалоговое окно Run (Запуск программы). В диалоговом окне Run наберите Command и нажмите ENTER.
Имя каталога, содержащего инструментальные средства программирования на Java, зависит от установленной вами версии SDK. Прежде чем вы сможете использовать компилятор для создания Java-аплетов, вам нужно будет добавить имя каталога, содержащего инструментальные средства, в командный путь, определенный строкой PATH в файле AUTOEXEC.BAT вашей системы. Чтобы указать корневой каталог (содержащий файл AUTOEXEC.BAT), наберите в командной строке CD\ и нажмите ENTER:
С:\Windows>CD \<Enter>
С:\>
Имя папки, содержащей инструменты программирования на Java, обычно будет начинаться с буквы J. Чтобы найти эту папку, наберите приведенную ниже команду DIR и нажмите ENTER; Windows отобразит список каталогов, подобный приведенному ниже:
C:\>DIR \J* /A:D<Enter>
Том в устройстве С не имеет метки
Серийный номер тома: 063E-14D9
Содержимое папки С: \
DIASOF-1 <ПАПКА> 1:08р Diasoft Publishing House
BOOKS <ПАПКА> 8:10a Books for DS Publishing House
J2SDK1-1 0-B <ПАПКА> 2:15p j2sdkl. 4.0-beta3
0 файлов 0 байт
0 папок 955,04 МБ свободно
В данном случае инструменты программирования на Java находятся в папке J2SDKI~I.O-B. Запишите название каталога, в котором хранятся файлы Java на вашем компьютере (если имя содержит пробел, замените пробел точкой). С помощью Блокнота отредактируйте файл AUTOEXEC.BAT, расположенный в корневом каталоге:
С:\>notepad \autoexec. bat<Enter>
В файле AUTOEXEC. BAT найдите строку PATH. В конце строки поставьте точку с запятой, буквенное обозначение текущего диска, двоеточие, косую черту, имя каталога Java и строку \BIN, как показано ниже:
PATH С:\WINDOWS\SYSTEM;C:\J2SK-1.0-B\BIN
Сохраните содержимое файла и выйдите из редактора. С помощью команды EXIT закройте окно MS-DOS и перезагрузите компьютер.
После перезагрузки компьютера вы готовы к компиляции Java-аплетов. В данном случае будет выгружены (или набраны) Операторы программы Nervous.Java. Выгрузить этот файл вы можете из сайта издателя русскоязычной редакции этой книги, который находится по адресу http://www. diasoft. . Если же вы будете набирать операторы, внимательно следите за использованием букв верхнего и нижнего регистра. Поместите файл в папку на диске, которую в данном случае можете назвать просто MyJava. Затем снова откройте окно MS-DOS. С помощью команды CD выберите каталог, в котором был сохранен файл Nervous, java. Например, если вы поместили файл в каталог MyJava, команда со будет выглядеть следующим образом:
\Windows>CHDIR \MyJava<Enter> С:\МуJava>
Чтобы скомпилировать исходный файл Nervous.Java, выдайте следующую команду javac, находясь в папке с исходным Java-файлом:
С : \MyJava> j avac Nervous. j ava<Enter>
Успешно скомпилировав программу, компилятор создаст файл Nervous.class в той же папке, где находится исходный файл аплета. Если вы набирали файл и компилятор выдал сообщения об ошибках, отредактируйте файл, внимательно сравнивая операторы в нем с текстом, приведенным в данной книге. Набранные вами буквы и символы должны в точности соответствовать тем, которые приведены в книге. Если же при выполнении программы javac система выдает сообщение "Bad command or file name" ("Имя команды или файла указано неправильно"), строка PATH в вашем файле AUTOEXEC.BAT не указывает корректно на файл, содержащий инструментальные средства программирования на Java.
Скомпилировав аплет, создайте следующий HTML-файл, Nerves.html, для внедрения вновь созданного аплета в Web-страницу:
<html>
<head>
<title> HepBHbiPi текст </title>
</head>
<body>
<hr>
<applet code = "Nervous. class" width = 375 height = 50>
<param name = "text" value = "Java Development Kit 1.2">
</applet>
<hr>
</body>
</html>
Откройте в браузере файл Nerves.html. Web-браузер загрузит Web-страницу с внедренным аплетом, отображающим "дергающийся" текст — "I'm nervous!".
Затем закройте Web-браузер и откройте в текстовом редакторе файл Nervous,java. Найдите следующую строку:
banner = "I'm nervous!";
Замените текст в кавычках на что-нибудь другое, например:
banner = "Konrad King";
Сохраните содержимое файла и выйдите из редактора. Затем выдайте следующую команду javac в командной строке MS-DOS, чтобы заново скомпилировать свой аплет:
С:\МуJava>javac Nervous. java< Enter>
Каждый раз, когда вы вносите изменения в код из Java-файла, вы должны компилировать код с помощью компилятора Java (jeCvac), дабы изменения вступили в силу. В данном случае компилятор Java заменит содержимое Nervous, class байт-кодом модифицированного исходного Java-файла (Nervous.java), так что в следующий раз, когда вы загрузите Web-страницу — Nerves.html — в Web-браузере, внедренный аплет (Nervous.class) будет отображать новую строку. Это все по компиляции, изменению и повторной компиляции Java-аплетов.
В зависимости от числа символов в тексте, который должен будет отобразить аплет, вам может понадобиться увеличить ширину аплета, изменив атрибут width внутри дескриптора <applet>, с помощью которого аплет внедряется на Web-страницу.
Добавление в Web-страницу Internet-чата
с помощью элемента управления ActiveX Microsoft Chat
В предыдущих практикумах этой главы вы добавляли различные возможности на свой Web-сайт с помощью Java-аплетов. В следующих же практикумах описывается, как использовать на Web-страницах объекты ActiveX. Как было сказано выше в этой главе, объект ActiveX отличается от Java-аплета тем, что объект (то есть элемент управления) ActiveX необходимо предварительно выгрузить и установить на своем компьютере, в отличие от безопасной загрузки и выполнения аплетов внутри браузера. Более того, если вы пользуетесь Netscape Navigator, вам придется выгрузить и установить подключаемый модуль, дающий браузеру поддержку того элемента управления ActiveX, который планируется выполнить.
До появления функции Instant Messaging компании AOL (а теперь и Microsoft) и Internet-телефонии, предлагаемой компаниями наподобие Net2Phone, люди общались друг с другом через Internet с помощью так называемого чата Internet Relay Chat (IRC). Даже сегодня, при наличии электронной почты, пейджеров, сотовых телефонов и невысоких тарифов на междугородные и международные переговоры, IRC остается весьма и весьма популярным. Microsoft Chat дает вам возможность поместить на свои Web-страницы простейший элемент управления — чат, показанный на рис. 9.21.
Подключившись к серверу IRC и либо присоединившись к существующей чат-комнате, либо открыв новую, посетитель может набирать сообщения в нижней левой панели. Элемент управления затем отображает сообщения, набранные пользователем, вместе с сообщениями, набранными другими людьми в той же чат-комнате, в реальном времени внутри верхней левой панели элемента управления. (В правой панели элемента управления отображается перечень имен людей в комнате.)

Рис. 9.21. Элемент управления ActiveX IRC Microsoft Chat
ПРАКТИКУМ
Многие компании обнаружили, что чат-сеансы — это удобный способ организации прямого общения между клиентами и службой поддержки. Чат-комнаты особенно удобны в случае новых выпусков программных продуктов, когда у нескольких клиентов возникают одинаковые вопросы по установке и новым функциям. Компании могут сэкономить время и деньги, ответив на такие вопросы один раз в форуме, чтобы ответы могли прочесть многие клиенты, вместо того, чтобы многократно отвечать на одни и те же вопросы по телефону клиентам, звонящим на бесплатный номер службы поддержки компании. Чтобы использовать на Web-странице элемент управления Microsoft Chat, вставьте приведенные ниже строки в HTML-код Web-страницы, там, где должны будут находиться панели ввода и вывода чата:
<object id = "Chat"
classid = "clsid:D6526FE0-E651-HCF-99CB-00C04FD644 97"
align = "baseline" border = "0" width = "600" height = "200"
standby = "Загрузка элемента управления Microsoft Chat"
type = "application/x-oleobject">
<param name = "MaxMessageLength" value = "2000">
<param name = "MaxHistoryLength" value = "32767">
<param name = "UIOption" value = "4095">
<param name = "BackColor" value= "255" >
<!-- Ниже используется подключаемый модуль ActiveX, предоставленный , для вставки элемента управления ActiveX "чат" на Web-страницу при отображении в Netscape Navigator версии 6.1 и. выше. —->
<embed type = "application/x-eskeractivex"
id = "Chat"
clsid = "D652 6FE0-E651-llCF-99CB-0 0C04FD6449 7"
width = "600" height = "200"
MaxMessageLength = "2000"
MaxHistoryLength = "32767"
UIOption = "4095"
BackColor="255">
</embed>
</object>
Обратите внимание, что в коде данного примера присутствует дескриптор <embed>, загружающий элемент управления Microsoft Chat на Web-страницу, когда та отображается в Netscape Navigator. Помните, что вы должны установить подключаемый модуль, позволяющий Netscape Navigator выполнить элемент управления ActiveX, прежде чем браузер Netscape в действительности сможет загрузить и отобразить на Web-странице объект ActiveX. В данном примере дескриптор <embed> требует установить подключаемый модуль ActiveX np6esk32.dll, выгрузить который можно по адресу http://www. . Значения, присваиваемые атрибуту type дескриптора <embed>, будут различаться в зависимости н подключаемого модуля ActiveX, используемого для вашей версии Netscape Navigator.
Настроить возможности чата можно при помощи следующих параметров:
standby | Текст, отображаемый Web-браузером во время загрузки элемента управления Microsoft Chat. |
MaxMessageLength | Максимальное число символов, которое посетитель может набрать в области исходящего сообщения (то есть в нижней левой панели), прежде чем щелкнуть на одной из двух кнопок "Send" ("Отправить") справа от панели. |
MaxHistoryLength | Число символов, которому элемент управления позволит аккумулироваться в области списка (истории) сообщений (то есть в верхней левой панели), прежде чем удалять самый старый текст. |
BackColor | Число от 0 до 255 включительно, задающее цвет границы между панелями элемента управления. |
Помимо самого элемента управления Microsoft Chat, вам необходимо предоставить посетителю форму для ввода имени сервера IRC, чат-комнаты, темы чата и прозвища ("ника"), под которым посетитель будет известен в комнате. Кроме того, посетителю понадобятся кнопки, показанные в нижней части формы на рис. 9.22, чтобы войти в существующую или создать новую комнату, управлять взаимодействием с другими участниками и, по желанию, очищать область списка сообщений.
Выгрузите из сайта издателя русскоязычной редакции этой книги страницу MSChatPage.htm, которая послужит примером полнофункциональной Web-страницы с внедренным элементом управления ActiveX Microsoft Chat. He стесняйтесь менять расположение полей и текстовых подписей формы. VBScript-функции, вызываемые при щелчках посетителя на кнопках формы, находятся в нижней части HTML-кода Web-страницы. (Каждая VBScript-функция обращается к методу (то есть функции) элемента управления ActiveX Microsoft Chat для выполнения действия, соответствующего надписи кнопки, с помощью которой была вызвана функция.)

Рис. 9.22. Форма, позволяющая посетителю вводить информацию для входа
в чат и отправлять команды клиенту Microsoft Chat
Использование только объектов ActiveX в Internet Explorer
Одна из сложностей использования объектов ActiveX на Web-страницах заключается в поддержке пользователей, работающих в Netscape. Как вы уже знаете, прежде чем Netscape сможет использовать объект ActiveX, должен быть выгружен подключаемый модуль, поддерживающий объект. К сожалению, не все подключаемые модули поддерживают все объекты ActiveX. Например, элемент управления Microsoft Marquee (рамка) позволяет отображать содержимое Web-страницы по вертикали, по горизонтали или по диагонали внутри прямоугольной области на Web-странице, как показано на рис. 9.23. Элемент управления Microsoft Marquee отображает текст, фон и графические изображения, как посетитель видел бы их, посетив саму Web-страницу. Таким образом, элемент управления Marquee дает возможность прокручивать текст, равно как и графические изображения, в виде меняющегося баннера. К сожалению, многие из подключаемых модулей для Netscape не поддерживают элемент управления Marquee.

Рис. 9.23. Элемент управления Marquee, прокручивающий одну Web-страницу
в прямоугольной области внутри другой страницы
ПРАКТИКУМ
Чтобы использовать на Web-странице элемент управления Microsoft Marquee, обычно понадобится сначала создать HTML-файл с содержимым, которое вы будете прокручивать в рамке. Затем в HTML-файл страницы, внутри которой необходимо поместить рамку, помещается приведенный ниже HTML-код, причем в то место страницы, где должно находиться прокручиваемое содержимое (замените URL-адрес в параметре szURL на URL-адрес HTML-страницы, содержимое которой требуется прокручивать):
<object id = "Markee" width = "64 0" height = "260"
classid = "clsid:la4dallcf-be62-0080c72edd2d">
<param name = "szURL" value = "http://www. /HWDTT
/Booklnformation. htm">
<param name = "ScrollDelay" value = "300">
<param name = "LoopsX" value = "-l">
<param name = "LoopsY" value = "-l">
<param name = "ScrollPixelsX" value = "0">
<param name = "ScrollPixelsY" value = "-10">
<param name = "Whitespace" value = "0">
<param name = "Zoom" value = "100">
</object>
Для настройки элемента управления Marquee предназначены следующие параметры:
SZURL | URL-адрес исходной Web-страницы, которая должна отображаться в рамке. |
ScrollDelay | Время (в миллисекундах) между обновлениями. |
Loopsx | Сколько раз программа должна прокрутить содержимое по вертикали. Значение «-1» обозначает "прокручивать постоянно". |
LoopsY | Сколько раз программа должна прокрутить содержимое по горизонтали. Значение «-1» обозначает "прокручивать постоянно". |
scroiiPixeisx | Число пикселей, на которое программа должна сдвигать содержимое рамки по горизонтали в каждом цикле обновления. При отрицательном значении содержимое будет прокручиваться справа налево, при положительном — слева направо. |
scroiiPixeisY | Число пикселей, на которое программа должна сдвигать содержимое рамки по вертикали в каждом цикле обновления. При отрицательном значении содержимое будет прокручиваться по направлению вверх, при положительном — вниз. |
whitespace | Размер интервала (в пикселях), который программа должна оставлять между последовательными копиями исходной Web-страницы. |
zoom | Увеличение или уменьшение (в процентах) размера исходной Web-страницы внутри рамки. |
ПРАКТИКУМ
Одно из решений проблемы, связанной с использованием объектов ActiveX, — внедрять объекты только для тех пользователей, которые работают в Internet Explorer. В вышеприведенном дескрипторе <object>, например, использование объекта на странице для браузеров Netscape предотвращается тем, что дескриптор <embed>, которого требует Netscape, опущен. Вместо того чтобы попросту игнорировать пользователей Netscape, можно сделать так, чтобы ваша Web-страница выполняла одну операцию (такую как внедрение объекта ActiveX) для пользователей Internet Explorer, и другую (такую как загрузка аналогичного Java-аплета) для пользователей Netscape.
Например, в приведенной ниже активной серверной странице при помощи значения HTTP_USER_AGENT определяется информация о браузере пользователя. Если строка, возвращенная функцией, содержит буквы MSIE, сценарий знает, что посетитель пользуется Microsoft Internet Explorer, и помещает в HTML-файл операторы, внедряющие объект ActiveX. Если используется другой браузер (не Internet Explorer), сценарий объект не внедряет:

|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 |


