Принципы функционирования клиентских сценариев
Что происходит, когда браузер загружает HTML страницу? В самом простом случае происходит простой процесс - построчное считывание файла, начиная с тэга <html> (обычно) в начале и заканчивая </html> в конце. Однако браузер может прервать этот процесс, в зависимости от содержания страницы. К примеру, если в теле страницы будет встречен элемент <img src="…" />, браузер отправит к серверу запрос на получение изображения, адрес которого указан атрибутом src.
Приблизительно то же самое происходит и в тех случаях, когда браузер сталкивается с командами клиентского сценария. JavaScript, как и все клиентские сценарии является интерпретируемым языком программирования. В отличии от C++, средствами которого можно написать программу, компилируемую в исполняемый файл, команды интерпретируемого языка выполняются другой программой (в нашем случае браузером). Текст сценария записывается непосредственно в HTML странице и отправляется вместе с ней на компьютер пользователя. При разборе страницы, браузер, встречая команды сценария, просто выполняет их. Этот принцип имеет множество достоинств и ряд ограничений, которые рассматриваются ниже.
Какие основные цели преследует любой создатель web-страницы, внедряя в нее сценарии?
- добавление "интеллекта" в страницу (определение типа и версии браузера, получение тек. даты и времени и т.п.);
- отслеживание и обработка событий, возникающих на странице в результате действий пользователя;
- проверка допустимости данных форм перед отправкой их на сервер;
- изменение содержимого или оформления элементов страницы;
- изменение структуры страницы;
- создание сложных анимационных эффектов на странице (сюда можно отнести "хвост" за курсором мыши, выпадающие или раскрывающиеся меню и т.п.);
- работа с дополнительными окнами (открытие, закрытие, изменение их размера, положения и содержимого);
Однако, если говорить о возможностях того или иного инструмента, полезно сделать не только обзор того, "что можно сделать", но и обратной стороны медали - "чего нельзя сделать". Этим мы с вами и займемся.
При помощи JavaScript нельзя:
- вызывать функции программного интерфейса приложений операционной системы - API;
- управлять распределением оперативной памяти;
- получать доступ к файлам и др. системным ресурсам сервера;
- получать доступ к файлам (кроме файлов предпочтений - Cookie) и др. системным ресурсам клиента;
- работать с базой данных;


