Первая часть этой книги была посвящена базовому языку JavaScript. Теперь мы перейдем к тому языку JavaScript, который используется в веб_броузерах и обыч_ но называется клиентским JavaScript (client_side JavaScript).1 Большинство при_ меров, которые мы видели до сих пор, будучи корректным JavaScript_кодом, не имели определенного контекста; это были JavaScript_фрагменты, не предназна_ ченные для запуска в какой_либо определенной среде. Эта глава предоставляет такой контекст. Она начинается с абстрактного введения в среду программиро_ вания веб_броузера и базовые концепции клиентского языка JavaScript. Затем в ней рассказывается о том, каким образом JavaScript_код фактически встраива_ ется в HTML_документы и как в JavaScript используются тег <script>, HTML_ат_ рибуты обработчиков событий и URL_адреса. Вслед за разделом, описывающим встраивание JavaScript_сценариев, следует раздел с описанием модели исполне_ ния, объясняющий, как и когда запускаются JavaScript_программы в веб_бро_ узере. Далее следуют разделы с обсуждением трех важных тем программирова_ ния на JavaScript: совместимость, удобство и безопасность. Завершает главу ко_ роткое описание некоторых других реализаций JavaScript, имеющих отноше_ ние к Всемирной паутине, но не относящихся к клиентскому языку JavaScript.
При встраивании JavaScript в веб_броузер последний получает мощный и много_ образный набор характеристик, которыми можно управлять из сценариев. Каж_ дая из следующих глав фокусируется на одной из основных функциональных областей клиентского языка JavaScript.
• Глава 14 «Работа с окнами броузера» описывает, как JavaScript может управ_ лять окнами веб_броузера, например открывать и закрывать окна броузера,
1 Термин «client_side JavaScript» остался с тех времен, когда язык JavaScript при_ менялся только в веб_броузерах (клиентах) и веб_серверах. Поскольку JavaScript в качестве языка сценариев распространяется во все большем количестве сред, слова «client_side» имеют все меньше и меньше смысла ввиду частого отсутствия клиентской стороны. Тем не менее в этой книге мы будем по_прежнему употреб_ лять этот термин.
252 Глава 13. JavaScript в веб*броузерах
выводить диалоговые окна, переходить по заданному URL_адресу или по спи_ ску посещенных ранее страниц вперед и назад. В этой главе описываются также некоторые другие особенности клиентского языка JavaScript, которые имеют отношение к объекту Window.
• Глава 15 «Работа с документами» описывает, как из JavaScript управлять со_ держимым документа, отображаемого в окне броузера, и как искать, встав_ лять, удалять или изменять части документа.
• Глава 16 «CSS и DHTML» рассказывает о порядке взаимодействия между Java_ Script_кодом и CSS_таблицами, а также показывает, как JavaScript_сценарий
может изменять представление документа, изменяя CSS_стили, классы
и таблицы стилей. Особенно интересный результат получается при объедине_ нии возможностей CSS_таблиц и динамического языка HTML (или DHTML), при использовании которого HTML_содержимое может быть скрыто, отобра_ жено, перемещено и даже анимировано.
• Глава 17 «События и обработка событий» описывает события и порядок их обработки, а также показывает, как с помощью JavaScript сделать веб_стра_ ницу интерактивной, способной откликаться на действия пользователя.
• Глава 18 «Формы и элементы форм» посвящена работе с HTML_формами. В ней показано, как с помощью JavaScript организовать сбор, проверку, обработку
и передачу данных, полученных от пользователя.
• Глава 19 «Cookies и механизм сохранения данных на стороне клиента» де_ монстрирует, как организовать хранение данных на стороне клиента с помо_ щью cookies.
• Глава 20 «Работа с протоколом HTTP» описывает приемы работы с протоко_ лом HTTP (технология, известная под названием Ajax) и демонстрирует, как можно организовать взаимодействие JavaScript_сценариев с сервером.
• Глава 21 «JavaScript и XML» показывает, как создавать, загружать, анали_ зировать, преобразовывать и сериализовывать XML_документы, а также как извлекать из них данные.
• Глава 22 «Работа с графикой на стороне клиента» демонстрирует широко рас_ пространенные приемы работы с графикой, позволяющие создавать на веб_ страницах интерактивные изображения и анимацию. В ней также показаны некоторые приемы динамического создания векторных графических изобра_ жений с помощью JavaScript_сценариев.
• Глава 23 «Сценарии с Java_апплетами и Flash_роликами» рассказывает, как организовать взаимодействие JavaScript_кода с Java_апплетами и Flash_ро_ ликами, внедренными в веб_страницу.