В дополнение к клиентскому языку JavaScript имеются и другие реализации языка JavaScript, имеющие отношение ко Всемирной паутине. В данной книге эти реализации не обсуждаются, но вам следует знать об их существовании, что_ бы не путать с клиентским JavaScript:
Пользовательские сценарии
Пользовательские сценарии – это новейшее достижение, позволяющее поль_ зователю добавлять сценарии к HTML_документам, прежде чем они будут отображены броузером. После этого веб_страница получает возможность управляться не только ее автором, но и посетителем веб_сайта. Самым извест_ ным примером пользовательского сценария является расширение броузера Firefox – Greasemonkey (http://greasemonkey.mozdev.org). Программное окру_ жение, предоставляемое пользовательским сценариям, похоже, но не иден_ тично клиентскому программному окружению. В этой книге не рассказывает_
286 Глава 13. JavaScript в веб*броузерах
ся о том, как написан пользовательский сценарий Greasemonkey, но изучение принципов клиентского JavaScript_программирования можно считать пред_ посылкой к изучению пользовательского JavaScript_программирования.
SVG
SVG (Scalable Vector Graphics – масштабируемая векторная графика) – это ос_ нованный на XML графический формат, допускающий внедрение JavaScript_ сценариев. Как мы выяснили, клиентский JavaScript_код может взаимодейст_ вовать с HTML_документом, в который он внедрен. Аналогичным образом Ja_ vaScript_код, встроенный в SVG_файл, может взаимодействовать с XML_эле_ ментами этого документа. Материал, излагаемый в главах 15 и 17, имеет неко_ торое отношение и к SVG, но его недостаточно, поскольку объектная модель SVG_документа несколько отличается от объектной модели HTML_документа.
Спецификацию формата SVG можно найти на сайте http://www.w3.org/TR/ SVG. В приложении B к этой спецификации находится определение DOM SVG.В главе 22 есть пример клиентского JavaScript_кода, встроенного в HTML_до_ кумент и создающего SVG_документ внутри HTML_документа. Поскольку JavaScript_код находится вне SVG_документа, это пример обычного клиент_ ского JavaScript_кода, а не JavaScript_кода, встроенного в SVG.
XUL
XUL (XML User interface Language) – это основанный на грамматике XML язык, предназначенный для описания пользовательских интерфейсов. Гра_ фический интерфейс пользователя веб_броузера Firefox создан на основе XUL_документов. Подобно SVG, грамматика XUL может использоваться в Ja_ vaScript_сценариях. Как и в случае с SVG, материал, излагаемый в главах 15 и 17, имеет некоторое отношение и к XUL, однако JavaScript_код в XUL_до_ кументах имеет доступ к совсем другим объектам и прикладным интерфей_ сам, являясь субъектом иной модели безопасности, нежели клиентский Java_ Script_код. Подробнее о XUL можно узнать на сайтах http://www.mozilla.org/ projects/xul и http://www.xulplanet.com.
ActionScript
ActionScript – это язык программирования, подобный JavaScript (он следует все той же спецификации ECMAScript, но развивался в направлении объект_ но_ориентированного подхода) и используемый в анимационных Flash_роли_ ках. Большая часть материала по основам JavaScript из первой части этой книги пригодна для изучения ActionScript_программирования. Формат Flash никакого отношения не имеет ни к XML, ни к HTML, а прикладные интерфей_ сы Flash вообще никак не связаны с темой этой книги. Однако в главах 19, 22 и 23 имеются примеры, демонстрирующие, как с помощью клиентского Ja_ vaScript_кода можно управлять Flash_роликами. В этих примерах можно найти маленькие фрагменты ActionScript_кода, но основное внимание в них уделяется использованию обычного клиентского JavaScript_кода для взаимо_ действия с ActionScript_кодом.