Принципы функционирования клиентских сценариев

Что происходит, когда браузер загружает HTML страницу? В самом простом случае происходит простой процесс - построчное считывание файла, начиная с тэга <html> (обычно) в начале и заканчивая </html> в конце. Однако браузер может прервать этот процесс, в зависимости от содержания страницы. К примеру, если в теле страницы будет встречен элемент <img src="…" />, браузер отправит к серверу запрос на получение изображения, адрес которого указан атрибутом src.

Приблизительно то же самое происходит и в тех случаях, когда браузер сталкивается с командами клиентского сценария. JavaScript, как и все клиентские сценарии является интерпретируемым языком программирования. В отличии от C++, средствами которого можно написать программу, компилируемую в исполняемый файл, команды интерпретируемого языка выполняются другой программой (в нашем случае браузером). Текст сценария записывается непосредственно в HTML странице и отправляется вместе с ней на компьютер пользователя. При разборе страницы, браузер, встречая команды сценария, просто выполняет их. Этот принцип имеет множество достоинств и ряд ограничений, которые рассматриваются ниже.

Текст программы, написанный на любом компилируемом языке проходит два основных этапа - компиляцию и связывание, в результате чего образуется исполняемый модуль. В интерпретируемых языках эти этапы отсутствуют. Текст программы просто выполняется. Оба подхода имеют ряд достоинств и недостатков. Так, например, скрипты выполняются значительно медленнее скомпилированных и загруженных в память компьютера машинных команд.

Какие основные цели преследует любой создатель web-страницы, внедряя в нее сценарии?

  • добавление "интеллекта" в страницу (определение типа и версии браузера, получение тек. даты и времени и т.п.);
  • отслеживание и обработка событий, возникающих на странице в результате действий пользователя;
  • проверка допустимости данных форм перед отправкой их на сервер;
  • изменение содержимого или оформления элементов страницы;
  • изменение структуры страницы;
  • создание сложных анимационных эффектов на странице (сюда можно отнести "хвост" за курсором мыши, выпадающие или раскрывающиеся меню и т.п.);
  • работа с дополнительными окнами (открытие, закрытие, изменение их размера, положения и содержимого);

Однако, если говорить о возможностях того или иного инструмента, полезно сделать не только обзор того, "что можно сделать", но и обратной стороны медали - "чего нельзя сделать". Этим мы с вами и займемся.

При помощи JavaScript нельзя:

  • вызывать функции программного интерфейса приложений операционной системы - API;
  • управлять распределением оперативной памяти;
  • получать доступ к файлам и др. системным ресурсам сервера;
  • получать доступ к файлам (кроме файлов предпочтений - Cookie) и др. системным ресурсам клиента;
  • работать с базой данных;
PQ VPS сервера в 28+ странах.