Сценарии JavaScript в документах HTML
Языки сценариев
Язык сценариев - это язык программирования, используемый для выполнения функций настройки и автоматизации работы какой-либо существующей системы (например, программы просмотра Интернета, Интернет-сервера, операционной системы). Обычно в подобных системах их функциональность уже доступна через интерфейс пользователя. Языки сценариев раскрывают ее для программного управления. При этом немаловажно то, что сама система обеспечивает специальную среду, обычно состоящую из объектов и подпрограмм, которая дополняет возможности языка сценариев.
В операционной системе Windows имеется средство Windows Scripting Host (WSH), предназначенное для программной настройки системы, которое создает специальную среду со специальными объектами, позволяющими программно настраивать операционную систему, создавая файлы сценариев. В этой среде методы автоматически создаваемого объекта WScript позволяют организовать диалог с пользователем, а также создавать объекты из иерархической модели объектов этой среды (например, объект Shell соответствует оболочке операционной системы, в семействе Environment которого хранятся значения всех переменных среды). В качестве языка сценария в WSH можно использовать либо JScript (реализация компанией Microsoft языка JavaScript) или поддерживаемый и разрабатываемый ею же собственный сценарный язык VBScript. Сценарий пишется на любом из указанных языков и сохраняется соответственно в файле с расширением .js или .vbs. Запуск сценария WSH осуществляется двойным щелчком на файле в проводнике Windows.
Пример 1. Сценарий Windows Scripting Host |
Создадим в любом текстовом редакторе представленный ниже сценарий WSH на языке JScript и сохраним его в файле с расширением .js. После чего запустим его на выполнение двойным щелчком в проводнике Windows. Со всеми действиями этого сценария можно ознакомиться, прочитав внедренные в текст сценария комментарии. // Отображение диалогового окна с приветствиемWScript.Echo("Привет!"); text = ""; // Создание объекта Shellshell = WScript.CreateObject("WScript.Shell") // Присоединение к семейству WScript.Shell.Environment// итератора для организации перебора элементов семействаe = new Enumerator(shell.Environment); // Перебор элементов семейства Environment// и сохранение их значений в переменной textfor ( ; !e.atEnd(); e.moveNext()){ text += e.item() + "\n";} // Отображение полученных значений в диалоговом окнеWScript.Echo(text) |
Встроенный в документ HTML сценарий JavaScript имеет доступ к объектной модели обозревателя, в котором этот документ отображается (при условии, конечно, поддержки обозревателем языка сценариев JavaScript и раскрытия своей модели объектов), а также к объектной модели (DOM) самого документа (опять-таки при ее реализации в обозревателе).
Пример 2. Сценарий JavaScript в обозревателе Internet Explorer |
Создадим приведенный ниже документ HTML и отобразим его в обозревателе Internet Explorer. Каждый щелчок на кнопке Новое окно документа будет приводить к отображению еще одного окна обозревателя размером 300x50 пикселей, но без строки меню, полос прокрутки, строки состояния, панели инструментов и адресной строки. <SCRIPT>function f(){ newWind = void("", "", "width=300,height=50")}</SCRIPT><BODY> <FORM> <INPUT TYPE="button" VALUE="Новое окно" xnclick='f()'> </FORM></BODY> |
Язык JavaScript
Первый язык сценариев, интерпретируемый в среде программы просмотра Интернета (для краткости будет подобную программу иногда называть браузер - от английского browser, используемого для обозначения подобных программ), был разработан в компании Netscape Communications. Встроенный в документ HTML сценарий на этом языке выполнялся в среде браузера Netscape Navigator 2.0, разработанного этой же компанией. Первоначально он назывался LiveScript, отражая его важнейшую функциональность, - встроенный в документ HTML сценарий позволял пользователю в интерактивном режиме "общаться" с отображаемой в браузере страницей. Впоследствии для привлечения внимания к своему детищу компания переименовала его в JavaScript, так как в то время язык Java приобрел такую популярность, что в Сети только о нем и говорили. Сразу же подчеркнем, что с языком Java этот язык не имеет ничего общего, разве лишь синтаксис и семантика операторов принятия решения и цикла. Эти языки разработаны для решения разных задач. Чтобы подчеркнуть этот факт следует сказать, что впоследствии компания Netscape разработала и внедрила в свой язык специальное средство для взаимодействия апплетов Java, встраиваемых в страницу HTML небольших программок, написанных на языке Java и интерпретируемых под управлением виртуальной машины Java, и сценария на языке JavaScript. В процессе своего существования язык JavaScript компании Netscape Communications постоянно изменялся, что отражалось в выпуске очередных версий, приуроченных к выпуску очередной версии браузера этой компании:
Поддержка JavaScript в браузерах Netscape
Версия браузера | Версия языка |
Netscape 2.0 | 1.0 |
Netscape 3.0 | 1.1 |
Netscape 4.0 | 1.2 |
Netscape 4.5 | 1.3 |
Netscape 4.7 | 1.4 |
Netscape 6.0 | 1.5 |
Не желая отставать от своего тогдашнего конкурента компания Microsoft выпустила собственный вариант языка JavaScript под названием JScript. Он также прошел ряд версий, соответствие которых браузеру этой компании представлено в следующей таблице:
Поддержка JavaScript в браузерах Internet Explorer
Версия браузера | Версия языка |
Internet Explorer 3.0 | 1.0 |
Internet Explorer 4.0 | 3.0 |
Internet Explorer 5.0 | 5.0 |
Internet Explorer 5.5 | 5.5 |
Internet Explorer 6.0 | 5.6 |
Следует отметить, что свой язык JScript компания Microsoft использовала не только в браузере, но и в других своих продуктах.
Разработка языков происходила без какого-либо взаимодействия двух компаний в режиме соревнований, что привело к известной "войне браузеров". Однако впоследствии здравомыслие восторжествовало и в 1996 году компании договорились о разработке единого стандарта под эгидой Европейской ассоциации производителей компьютеров (ECMA). И в июле 1997 года появился новый язык, получивший название ECMAScript. Сегодняшние последние версии языков JavaScript компаний Netscape Communications и Microsoft полностью соответствуют последнему стандарту языка ECMAScript, известному под названием ECMA-262, редакция 3 от 1999 г.
Задачи, решаемые с помощью встроенных в документ HTML сценариев JavaScript:
· динамическое создание содержимого документа HTML во время его загрузки в браузер;
· оперативная проверка достоверности заполняемых пользователем полей форм HTML до передачи их на сервер;
· создание динамических страниц HTML совместно с каскадными таблицами стилей и объектной моделью документа;
· взаимодействие с пользователем при решении "локальных" задач, реализуемых приложением JavaScript, встроенном в страницу HTML.
Дата добавления: 2016-02-11; просмотров: 1054;