Внимение покупателям диска "1000 яваскриптов": в июне Почта России ввела новые правила почтовых отправлений, согласно которым компакт-диски можно отправлять только посылкой. В связи с этим сумма почтовых расходов составляет 35% от стоимости заказа.
ВЫПУСК 10
Апплеты
Собственно и не стоило бы говорить о Java, если бы не возможность использования небольших мобильных программ, которые можно передавать по сети и исполнять на компьютере пользователя. Эти программы в терминологии Java называются апплетами (яблочками). Для встраивания вызовов апплетов в текст НТМL-документа и отведения места для отображаемой апплетом информации в НТМL был введен контейнер АРРLЕТ, который начинается тагом <аррlet> и кончается тагом </аррlet>.
В общем виде документ, содержащий ссылки на апплеты будет выглядеть так, как это представлено в примере.
В данном примере после заглавия документа (таг H1) и горизонтальной черты начинается поле апплета шириной 200 пикселей и высотой 100 пикселей. В данное поле загружается аррlet с именем hello (файл hello.class). Текст между тагами начала и конца контейнера аррlet используется для размещения встраиваемых контейнеров и текста, который отображается броузерами, не позволяющими использовать
Java.
Пример
<HTML>
<HEAD>
<TITLE>Документ со встроенной ссылкой на applet.</TITLE>
</HEAD>
<BODY bgcolor=#FFFFFF>
<CENTER>
<H1>Документ со встроенным апплетом hello Java</H1>
<HR>
<APPLET CODE=hello width=200 height=100>
Аррlet будет отображаться в этом месте, если Ваш браузер интерпретирует Java </APPLET>
<HR>
</BODY)
</HTML>
В результате ссылки на такой документ сначала будет загружен текст документа. За тем будет обнаружен контейнер аррlet, и произойдет загрузка кода апплета. Файл hello.class должен в этом случае находиться там же, где и НТМL-файл, в котором есть на него ссылка. После приема апплета браузер отведет под него место в своей рабочей области и только после этого начнет его исполнение.
В общем случае контейнер АРРLЕТ имеет следующий вид:
<applet>
[codebase = codebase url]
code = applet.class
[alt = text]
[name= applet name]
width = number of pixels height = number of pixels
[align = alignment]
[vspace=number of picsels]
[hspace=number of pixels]
[<param name=param name value=param value>]
[HTML text]
</applet>
Параметр соdebase задает базу для поиска кода апплета, соdе - это имя файла апплета, которое должно иметь расширение сlass, аlt - альтернативный текст - отображается в том случае когда выполнение апплета запрещено, name - имя контейнера аррlet, используется для ссылки на контейнер, widthт - ширина области отображения апплета, height - высота области отображения апплета, аlign - управляет выравниванием области отображения апплета внутри рабочей области браузера, vspase и hspase -
указывают на отступ от текста НТМL-документа (вертикальный и горизонтальный, соответственно).
Использование контейнера РАRАМ позволяет передавать параметры внутрь апплета и НТМL-документа. Это аналогично вызову команды с различными аргументами командной строки. Для того, чтобы получить эти параметры внутри апплета, следует использовать метод getParametr ().
Из атрибутов контейнера АРРLЕТ обязательными являются только соdе, width и height Все остальные атрибуты (они заключены в квадратные скобки "[ ]") можно опускать. Большинство систем разработки Java-программ
сами генерируют НТМL-документ, точнее его макет, для тестирования Java-апплетов. Так поступают, например, в АDК (Аррlet Development Kit) компании IВМ.
Для получения URL документа, из которого вызван аррlet можно использовать метод getDocumentBase и getCodeBase. Первый определяет базу адреса для документа, в то врeмя как второй определяет базу самого апплета. Применение этих методов необходимо для обращения за данными (текст или графика), которые могут храниться там жe, где и документ аррlet.
А сейчас - новый скрипт:
ТРЯСУЧКА БРАУЗЕРА.
<html>
<meta http-equiv="Content-Language" content="ru">
<head>
<SCRIPT LANGUAGE="JavaScript1.2">
<!---
bName = navigator.appName;
bVer = parseInt(navigator.appVersion);
if (bName == "Netscape" && bVer == 3) ver = "n3";
else if (bName == "Netscape" && bVer == 2) ver = "n2";
else if (bName == "Netscape" && bVer >= 4) ver = "n4";
else if (bName == "Microsoft Internet Explorer" && bVer == 2) ver = "e3";
else if (bName == "Microsoft Internet Explorer" && bVer > 2) ver = "e4";
if (navigator.appVersion.indexOf("Mac") != -1) ver+="m";
function shake() {
if (ver == "n4" || ver == "n4m" || ver == "e4" || ver == "e4m") {
for (i = 10; i > 0; i--) {
for (z = 10; z > 0; z--) {
self.moveBy(0,i);
self.moveBy(i,0);
self.moveBy(0,-i);
self.moveBy(-i,0);
} }
}
}
setTimeout('shake()',3000);
// --->
</SCRIPT>
</head>
<BODY>
ПРИВЕТ !!!
</body>
</html>
Этот скрипт взят из "Сборника 1000 яваскриптов".
На этом на сегодня все.
До встречи в следующих выпусках.
Уважаемые читатели.
Специально для всех интересующихся JAVASCRIPT я подготовил электронную книгу "Сборник 1000 яваскриптов -демонстрационная версия". Скачать эту книгу Вы сможете отсюда - СКАЧАТЬ ДЕМОНСТРАЦИОННУЮ ВЕРСИЮ СБОРНИКА