63 Часть V. Разработка программ и написание скриптов

Расположение скриптов

Скрипты можно помещать в любом месте HTML-страницы, при этом они должны обрамляться тэгами <SCRIPT>. . .</SCRIPT>. Многие программисты на JavaScript предпочитают располагать функции, которые вызываются несколько раз, внутри элемента HEAD страницы;это — удобное место для размещения. Поскольку элемент HEAD находится в начале файла, расположенные там функции и код JavaScript анализируются раньше, чем загрузится весь документ.

Однако иногда возможна ситуация, когда код не должен обрабатываться и выполняться раньше, чем будут проанализированы и отображены все HTML-элементы страницы. Примером может быть функция DumpURL (), описанная ниже в данной главе;эта функция распечатывает все URL-адреса, на которые имеются ссылки в текущей странице. Если бы эта функция выполнялась раньше, чем произойдет полная загрузка страницы, то она могла бы пропустить некоторые URL-адреса;поэтому вызов этой функции должен располагаться в конце <

(Совет)

Описание функции DumpURL ()приводится в разделе "Построение таблицы ссылок"ниже в данной главе.

Объекты и события браузера

Кроме того, что браузеры обрабатывают коды JavaScript, заключенные в тэг-контейнер <SCRIPT>. . .</SCRIPT>, они также предоставляют несколько объектов (вместе с их методами и свойствами), которые можно использовать в программах на JavaScript. Помимо этого, браузер может вызывать методы, связанные с некоторыми действиями, которые пользователь выполняет при работе с браузером. Многие события, происходящие во время сеанса работы с браузером, не касаются элементов страницы, то есть кнопок или HTML-текста. Эти события относятся к функционированию самого браузера, например, определение адреса просматриваемой страницы.

Объек location.Браузер имеет объект location, который содержит текущий URL-адрес, включая имя хоста, путь, аргументы CGI-скрипта и тип протокола. В табл. 27.1 перечислены свойства и методы объекта location.

Таблица 27.1

Свойство/Метод Тип Описание

href Строка Содержит целиком URL-адрес, включая все подкаталоги;например http://home.netscape.com:80/index.html