Rambler's Top100
Каталог 35RUS.RU TopCTO Общее
Count.NET.ru
gids.ru - каталог





Как поместить программу на языке JavaScript в документ HTML


Программы на языке JavaScript встраиваются в страницу текста на языке HTML. Для этого имеется специальный тег <script>. Броузер распознает программу на языке JavaScript, помещенную между начальным и конечным тегами <script>, и приступает к ее выполнению. Тег <script> HTML является контейнером, и поэтому для того, чтобы указать конец тела сценария Java, всегда требуется </script>. Сам код сценария располагается соответственно, внутри контейнера.

Сценарии можно помещать в любом месте документа HTML, но важно помнить, что теги HTML и операторы JavaScript нельзя распологать вперемешку - иначе результат может оказаться некорректным. Броузер выполняет синтаксический анализ содержимого контейнера <script> построчно. Если на этом этапе обнаруживается ошибка, то на экран будет выведено сообщение и номер строки, содержащей ошибочный оператор.

Рекомендуется размещать программы на языке JavaScript в контейнере HTML между <head>...</head>, поскольку это один из первых тегов которые читает броузер. Теоритически сценарии можно расположить в любом месте документа HTML, однако основной сценарий рекомендуется разместить в контейнере заголовка документа HTML. Местоположение сценариев зависит от того, для чего они предназначаются. Если сценарии используются для динамического создания кода HTML и предназначенные для генерации программных или системных параметров контейнеры <script> разбросаны по всему тексту документа HTML, то такое их расположение вполне оправдано. Однако если требуется определить функции для решения различных задач, то самым лучшим местом для них будет отдельный контейнер <script>, расположенный в начале документа.

Синтаксис тега <script> следующий:

<script language="JavaScript">
операторы JavaScript ...
</script>

где атрибут language (язык) должен быть установлен равным "JavaScript" (с точным соблюдением регистра!) для всех сценариев на языке JavaScript. Атрибут language является необязательным, но на всякий случай его лучше указывать всегда. Весь текст за пределами контейнера <script>...</script> должен быть исключительно в формате HTML. В файл HTML можно поместить несколько программ на языке JavaScript; они выполняются в порядке их расположения в тексте (сверху вниз). Программы на языке JavaScript начинают анализироваться только после (а не до) загрузки страницы HTML, содержащей контейнер <script>...</script>. Функции загружаются в память и выполняются броузером, когда генирируется соответствующее событие или при явном вызове функции JavaScript (либо других функций, определенным пользователем, - под функцией здесь понимается группа операторов языка JavaScript).

Например:

<html>
<head>
<title>Заголовок документа</title>
<script language="JavaScript">
alert ("Добро пожаловать !");
</script>
</head>
<body>
Далее идет текст документа ...
</body>
</html>


Примечание: В языке JavaScript, как и в языке Java, символы набранные в верхнем и нижним регистрах различаются, поэтому при вводе текста необходимо учитывать регистр клавиатуры (так, "JavaScript" не то же самое, что "Javascript".). Использование маленькой буквы "я" внутри контейнера <script>...</script>, нежелательно, всвязи с тем, что броузеры типа Netscape Navigator будут воспринимать ее как ошибку программы.


Включение апплета Java в документ HTML .

Апплет Java, как и программа на JavaScript, должен выполняться из гипертекстового документа HTML. Именно с этим свойством апплетов связано происхождение термина "выполняемое содержимое". Чтобы включать апплеты в файл HTML, испульзуется HTML-тег <applet>. Тег <applet> является контейнерным тегом. Это значит, что в тексте гипертекстового документа за этим тегом обязательно должен быть указан закрывающий тег </applet>. Ниже привожу синтаксис тега <applet> (необязательные атрибуты выделены синим цветом).

<applet
code="File.class"

codebase="ClassDirectory"
width=w
height=h
vspase=vs
hspace=hs
alt=text
name=appletName
align=left | right | top | middle | baseline | bottom |
<param name=ParamName value=ParamValue>
HTMLТекст...

</applet>

где атрибут code задает имя загружаемого файла с расширением .class, codebase - имя каталога, в котором содержится данный файл (файлы) с расширением .class, width - ширина области вывода апплета в пикселях, а height - ее высота. Использовать кавычки (") в именах аргументов необязательно. Тег <param> предназначен для задания имен (ParamName) и значений (ParamValue) параметров, которые передаются апплету из файла HTML. Допускается задание нескольких тегов <param>. HTMLText - текст, предназначенный для пользователей, которые применяют броузеры, не поддерживающие язык Java. Этот текст выводится на экран в том виде, в каком указан в донном теге. Он должен задаваться в формате HTML, и его длина не ограничивается. Атрибут alt предназначен для вывода теста в окнах броузеров, которые распознают тег <applet>, но не могут выполнить апплет. Атрибут align, по своему действию аналогичен тегу <img align=... scr>. Атрибут align предназначен для задания способа размещения области вывода апплета на странице. Атрибутами vspace и hspace задаются размеры поля пустого пространства над и под областью вывода апплета (значения обоих атрибутов указываются в пикселях).

Например можно задать следующий тег <applet>:

<applet code="MyApplet.class"
codebase="CLASSES"
width=150
height=150
<hr>To viev this applet you will need a Java-aware browser!<p>
<img scr="scrndump.gif"><hr>
</applet>


Этот тег осуществляет вызов апплета MyApplet.class. Для пользователя, просматривающего данную страницу с помощью броузера, который не поддерживает Java, на экране будет отображаться текст "To viev this applet you will need a Java-aware browser!" (Для просмотра этого апплета вам понадобится броузер, поддерживающий Java), а также графическое изображение (заданное в теге <img scr...>). Авторы некоторых приложений предпочитают в таких случаях выводить вместо текста "картинку" - такую, какую увидел бы на экране пользователь, распологающий поддерживающим Java броузером. При запуске область вывода апплета будет занимать квадратный участок экрана размерами 150х150 пикселей. Разработчик апплета должен позаботиться о том, чтобы выводимые апплетом данные не попадали за пределы выделенной для них области. (В апплетах можно задавать размеры области отображения, в которую будет выводится информация. Если с помощью необязательных атрибутов width/heigh не задана область вывода апплета, то данные будут выводиться и отображаться в области экрана, заданной в самом апплете.) Включение апплета в страницу без соответсвующего текста, предназначенного для тех пользователей, у которых броузеры, не поддердивают Java, принято считать невежливым. Атрибутом codebase в этом примере задается, что файл MyApplet.class находится в подкаталоге CLASSES каталога, в котором содержится HTML-файл.

Пример использования тегов <applet>.

Рассмотрим следующий пример:

<applet code="MyApplet.class" codebase="myclasses">
Апплет распологался бы здесь !
</applet>


В этом фрагменте текста HTML атрибутом codebase задается каталог myclasses. Этот каталог является подкаталогом каталога, из которого был загружен данный файл HTML. Например если приведенные выше теги входят в состав HTML-файла C:\Applets\Demo_Applet.html, то броузер будет искать файл MyApplet.class в каталоге C:\Applets\myclasses.

Приведённый выше тег <applet> можно использовать для вызова локальных апплетов (например, чтобы проверить апплет сначала на своём компьютере, а потом уже поместить его на Web-сервер). Примечание: Не все апплеты могут выполняться локально.

Конечно же, апплет может размещаться не только в том каталоге, где находится вызывающий его файл HTML, а и в любом другом месте Internet. В таких случаях в атрибуте codebase необходимо указать URL файла апплета с расширением .class, например:

<applet code="RemoteApplet.class"
codebase="http://www.somehost.com/appletdir/classes/">
Пример апплета.
</applet>


В этом примере вызывается апплет RemoteApplet.class, расположенный на хосте Internet www.somehost.com в каталоге /appletdir/classes/. Для того чтобы загрузить апплет в вашу систему, броузер использует протокол передачи гипертекстовых документов (HyperText Transfer Protocol - HTTP), а выполнение апплета осуществляется под управлением встроенного в броузер ядра Java.

Если вы решили передать ваши апплеты на Web-сервер (через FTP), убедитесь, что в HTML-файле, в котором они используются, правильно задан атрибут codebase. Если файл апплета с расширением .class находится в том же каталоге, что и соответствующий HTML-файл, вызывающий данный апплет, т.е. содержащий тег <applet>, атрибут codebase можно вообще опустить. Лучше, однако, если это возможно, хранить файлы с расширением .class и исходные тексты программ на языке Java в разных каталогах.






© 2002 PRENT Design Studio™

Hosted by uCoz