Скрипты или сценарии - это
программы, предназначенные для работы с браузером. Все сценарии
можно разделить на две большие группы: исполняющиеся на
том компьютере, который загружает данные из Интернета -
на клиентском компьютере, и исполняющиеся на компьютере,
эти данные предоставляющем - на сервере.
Сценарии, исполняющиеся на
клиентском компьютере, встраиваются в загружаемые web-страницы
их разработчиками и выполняются браузером клиентского компьютера.
Для того, чтобы они могли быть выполнены, браузер должен
уметь их интерпретировать и выполнять - поддерживать язык,
на котором скрипты написаны.
На настоящее время существуют
два языка для написания таких сценариев - JavaScript и VBScript
(от Visual Basic Script), причем первый из них поддерживается
практически всеми современными моделами браузеров - Microsoft
Internet Explorer, Netscape Navigator, Opera, Ariadna, а
второй - только Microsoft Internet Explorer (начиная с версии
4.0). Поэтому использование JavaScript предпочтительнее,
но этот язык несколько сложнее по своему синтаксису и не
позволяет реализовывать некоторые возможности, которые доступны
VBScript. Однако, поскольку доля пользователей браузера
Microsoft Internet Explorer сейчас составляет порядка восьмидесяти-девяноста
процентов от всех пользователей сети Интернет, то VBScript
можно широко использовать, а для пользователей браузеров,
не поддерживающих этот язык, сделать специальный, упрощенный
вариант сайта.
Синтаксис языков JavaScript
и VBScript подробно описан в специальной литературе по программированию
для Интернета, которая широко представлена в электронных
библиотеках вроде тех, чьи адреса приводились выше. Существуют
сайты, посвященные этим языкам, библиотеки сценариев, которые
можно найти с помощью поисковых систем. Неплохим методом
изучения JavaScript и VBScript является исследование страниц
со скриптами, коих сейчас в Интернете великое множество.
Наиболее общие и основные
понятия JavaScript и VBScript таковы. Скрипт, располагаемый
на странице, заключается в тэги "<script>"
и "</script>" - без этого он будет интерпретирован
как простой текст и отображен таким в браузере. Для того,
чтобы скрыть текст скрипта от браузеров, не понимающих тэг
"<script>", после него, но перед началом
текста скрипта, можно встроить тэг комментария: "<!--",
закрыв его перед тэгом "</script>" тэгом
"-->". Тогда браузер, поддерживающий скрипты,
скрипт выполнит, а не поддерживающий - полностью проигнорирует.
Если скрипт написан на языке
VBScript, то в его тэге должно стоять указание на это вида
"<SCRIPT ID=clientEventHandlersVBS LANGUAGE=vbscript>".
То же рекомендуется делать и для скриптов на JavaScript:
"<SCRIPT language=JavaScript>", однако это
не обязательно.
Текст скрипта может находиться не на странице, а в отдельном
файле с расширением .js (для сценариев на JavaScript) или
.vbs (для сценариев на VBScript), что может облегчить труд
по обновлению сайта, если обновляемой частью являются именно
скрипты. К сожалению, увеличить скорость загрузки страницы
путем вынесения скриптов в отдельные файлы не удастся -
они все равно будут загружены не при их вызове, а при загрузке
страницы. Для такого включения текста скрипта из отдельного
файла следует использовать тэги "<SCRIPT language=JavaScript
src="Имя_файла.js"></SCRIPT>" или
"<SCRIPT language=VBScript src="Имя_файла.vbs"></SCRIPT>".
Сценарии на JavaScript и
VBScript могут исполняться как автоматически во время загрузки
страницы, так и при каких-либо действиях пользователя. Конкретный
способ выполнения зависит от текста скрипта. Сценарий, выполняемый
автоматически, состоит из простого набора команд, без каких-либо
заголовков и окончаний. Например, сценарий
<SCRIPT language="JavaScript">
if (navigator.appName == "Microsoft Internet Explorer")
document.write ("<p>Вы используете Microsoft
Internet Explorer</p>");
</SCRIPT>
будет выполнен сразу после
загрузки, и в результате его выполнения в загружаемом документе
в том месте страницы, где располагается текст этого скрипта,
появится строка "Вы используете Microsoft Internet
Explorer". Если необходимо, чтобы скрипт был выполнен
до загрузки страницы, рекомендуется поместить его в раздел
"<head>", однако тогда функции работы с
текстом страницы скрипту будут недоступны - ведь он будет
выполняться до того, как браузер его получит с сервера.
Для того, чтобы сценарий
выполнялся при наступлении определенных условий (нажатии
пользователя на кнопку, окончании загрузки страницы и др.),
необходимо оформить его как функцию. Это значит, что тогда
у скрипта должен появиться заголовок и окончание. Для JavaScript
заголовком является оператор "function имя_скрипта()",
а весь текст скрипта заключается в фигурные скобки:
<script Language=JavaScript>
function skript()
{
...Команды сценария...
}
</script>
В VBScript заголовок - фраза "Sub имя_скрипта()",
а после текста скрипта должна следовать команда "End
Sub":
<SCRIPT ID=clientEventHandlersVBS LANGUAGE=vbscript>
Sub runscr()
...Команды сценария...
End Sub
</SCRIPT>
Сценарий, оформленный таким
образом, имеет имя - то, что стоит после слов "function"
или "Sub". По этому имени его можно вызывать из
любого места страницы.
Вызов скрипта - это просто команда его выполнить.
Например, при нажатии кнопки "<input type="button"
value="Готово" onClick="startskript()">"
будет выполнен скрипт с именем "startskript. Вызываемый
скрипт может находиться в любом месте страницы, однако настоятельно
рекомендуется, чтобы он располагался выше места его вызова,
- иначе при неполностью загруженной странице может быть
неприятная ситуация, когда при вызове незагруженного скрипта
браузер выдаст ошибку.
Сценарий может вызываться при происхождении какого-либо
события. Следующий пример показывает, как вызвать скрипт
на языке Javascript при полной загрузке страницы:
<SCRIPT FOR=window EVENT=onload LANGUAGE="JScript">
...Команды скрипта...
</SCRIPT>
В языке VBScript подобный вызов делается несколько
по-другому:
<SCRIPT ID=clientEventHandlersVBS LANGUAGE=vbscript>
Sub window_onload()
...Команды скрипта...
End Sub
</SCRIPT>
"Onload" - это событие,
возникающее при окончании загрузки страницы. Существуют
и другие события для обьекта "window" (то есть
- окна открытой web-страницы). Например, "onresize"
- при изменении размеров окна. Полные списки событий и стандартных
обьектов (то есть имеющихся на всех страницах) можно найти
в специальной литературе по программированию для Web.
Другой тип скриптов, о котором
говорилось в начале этого раздела - это сценарии, выполняющиеся
на сервере (так называемые CGI-скрипты). CGI (что расшифровывается
как Common Gateway Interface: общий способ обмена данными)
- это не язык, а принцип действия таких скриптов: при их
выполнении берутся данные от браузера пользователя и обрабатываются
на сервере. С помощью CGI-скриптов можно решить самые разнообразные
задачи: осуществление поиска по сайту, работу с базами данных,
динамическую генерацию страниц с нужным пользователю содержанием.
В web-программировании иногда
используются еще и такие структуры, как Java-апплеты. Java
- это специальный язык программирования, отличающийся тем,
что программы, написанные на нем, могут выполняться на компьютерах
любых платформ: как на IBM PC, так и на Macintosh, и на
других системах. По своему синтаксису он похож на Cи. Java-апплет
- это программа на языке Java, переведенная в так называемый
"пи-код", то есть в двоичный код, могущий быть
выполненным специальным интерпретатором (так называемой
"виртуальной машиной Java"). Для различных платформ
компьютеров существуют свои версии интерпретаторов Java,
а сам язык Java одинаков для всех платформ. Поэтому один
и тот же Java-апплет может работать на любом типе компьютеров,
для которого создана "виртуальная машина".
Java-апплет может быть вставлен
в web-страницу. Создаются апплеты с помощью специальных
программных пакетов, таких, например, как Java Developer
Kit. С помощью Java-апплетов можно добиться интересных визуальных
эффектов на странице. Но следует помнить, что их загрузка
и выполнение очень сильно замедляют работу компьютера посетителя
сайта с апплетами. Поэтому Java-апплеты стоит использовать
лишь в очень редких случаях, например, для внедрения в страницу
сложного калькулятора научных расчетов. Во всех остальных
случаях рекомендуется воздерживаться от их применения. Большинство
возможностей Java-апплетов может быть реализовано средствами
JavaScript и VBScript, а также Dynamic HTML.
Справочная информация по
разработке сайтов
Практика разработки сайтов
|