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