Написание скриптов
Доступ к свойствам элементов и их динамическое управление на веб-странице
осуществляется посредством программы, которая связывается с документом
HTML. Подобные программы принято называть скриптами или, как можно
встретить в отдельных источниках, сценариями. Скрипты описываются
с помощью тега SCRIPT, который содержит
ссылку на программу или ее текст на определенном языке. Используется
два основных языка программирования JavaScript и VBScript.
Создание скриптов
Скрипты могут создаваться несколькими способами. Наиболее распространенный
заключается в размещении программы внутри контейнера SCRIPT.
Данный тег может ссылаться на внешний файл, либо содержать программу
внутри себя.
Синтаксис написания скрипта.
<script language="язык программирования" type="тип
MIME" src="имя файла">
Текст программы
</script>
Параметр language указывает язык написания
скрипта, который может принимать значения VBScript или JavaScript.
Для последнего часто еще присоединяют номер версии к названию языка,
например JavaScript1.3 (пример 1).
Пример 1. Определение языков поддерживаемых браузером
<html>
<head>
<script language="VBScript"> VB = True </script>
<script language="JavaScript"> JS = 1; </script>
<script language="JavaScript1.1"> JS11 = 1; </script>
<script language="JavaScript1.2"> JS12 = 1; </script>
<script language="JavaScript1.3"> JS13 = 1; </script>
<script language="JavaScript1.4"> JS14 = 1; </script>
<script language="JavaScript1.5"> JS15 = 1; </script>
<script language="JavaScript">
document.write("<b>Поддерживаемые языки:</b><br>");
if(window.JS) document.write("JavaScript<br>");
if(window.JS11) document.write("JavaScript 1.1<br>");
if(window.JS12) document.write("JavaScript 1.2<br>");
if(window.JS13) document.write("JavaScript 1.3<br>");
if(window.JS14) document.write("JavaScript 1.4<br>");
if(window.JS15) document.write("JavaScript 1.5<br>");
if(window.VB) document.write("Visual Basic<br>");
</script>
</head>
<body>
</body>
</html>
Результат выполнения программы представлен ниже
Рекомендуется всегда указывать параметр language,
поскольку если браузер не распознает язык программирования, то скрипт
игнорируется и не выполняется. Вместе с тем, в HTML 4.0 данный параметр
советуют не использовать. Вместо него следует применять параметр
type, который указывает тип MIME для
определенного языка: для JavaScript "text/JavaScript",
а для VBScript "text/VBScript". Но поскольку некоторые
браузеры не понимают параметр type,
лучше задавать сразу два атрибута одновременно language
и type. Если браузер распознает значение
параметра type, то значение language
отменяется.
<script language="JavaScript"
type="text/JavaScript">
Программа на языке JavaScript
</script>
Скрипты могут располагаться и во внешнем файле и связываться с
любым HTML-документом. Такой подход позволяет использовать одни
и те же общие функции на многих веб-страницах и ускоряет их загрузку,
т.к. внешний файл кэшируется при первой загрузке, и скрипт вызывается
быстрее при последующих вызовах.
<script language="JavaScript" type="text/JavaScript"
src="main.js"></script>
При ссылке на внешний файл скрипта контейнер SCRIPT
оставляем пустым. Сам файл с программой может располагаться в любом
месте сайта, для его вызова действуют те же правила, что и для ссылок.
Местоположение скриптов
Скрипты могут располагаться в заголовке или теле HTML-документа
в неограниченном количестве. В большинстве случаев местоположение
скрипта никак не сказывается на работу программы. Однако скрипты,
которые должны выполняться в первую очередь, обычно помещают в заголовок
документа. При создании объектов программными
средствами скрипты размещают прямо в документе и выводят результат
с помощью метода document.write или document.writeln (пример 2).
Пример 2. Создание таблицы с помощью скрипта
<html>
<body>
<table width=400 border=1>
<script language="JavaScript">
for (i=1; i<6; i++) {
document.writeln("<tr>");
for (j=1; j<6; j++) document.write("<td>" +
i + j + "</td>");
document.writeln("</tr>");
}
</script>
</table>
</body>
</html>
В примере скрипт создает таблицу размером 5 на 5 ячеек и заполняет
ее числами.
Комментарии
Для скрытия кода программы от браузеров, которые не понимают скриптов,
перед началом и после окончания кода добавляют комментарий HTML.
<script language="JavaScript">
<!--
Текст программы
//-->
</script>
Закрывающему комментарию HTML должен предшествовать комментарий
языка JavaScript (//) или VBSscript (').
В настоящее время все современные браузеры понимают скрипты, поэтому
комментарий необязателен и его можно опустить.
Вызов и запуск скриптов
Основные способы выполнения скриптов через вызов функции
и при достижении определенного события. Скрипт можно также запускать
автоматически, после загрузки страницы, как показано в примере 3.
Пример 3. Автоматический запуск скрипта
<html>
<head>
<script language="JavaScript">
alert("Hello, world!")
</script>
</head>
<body></body>
</html>
Ту же самую программу можно написать через функцию.
Пример 4. Автоматический запуск скрипта
<html>
<head>
<script language="JavaScript">
function foo() {
alert("Hello, world!")
}
foo();
</script>
</head>
<body></body>
</html>
Функция foo запускается при загрузке
страницы, поскольку ее вызов указан явно.
Для связывания скриптов с событиями существует два способа. Первый
использует зарезервированные события мыши или клавиатуры, например,
нажатие на левую кнопку мыши отслеживается событием onClick.
Пример 5. Использования события мыши
<input type=button value="Не нажимай!" onClick="alert('Вы
нажали на кнопку, предупреждали ведь, не надо этого делать...')">
Если нажать на кнопку, появится окно с надписью.
Другой способ реагирования на определенные события, связан с параметрами
тега SCRIPT for,
который задает имя элемента для которого выполнять скрипт и event
определяющий событие.
<script language="JavaScript" for="document"
even="onLoad">
alert("Загрузка страницы завершена...")
</script>
В примере вызов сообщения появляется при завершении загрузки документа.
Некоторые браузеры не поддерживают параметры for
и event и запускают скрипт немедленно.
В этом случае лучше использовать события, как показано в примере
5.
|