Объект window имеет свойства,
методы, события, а также дочерние объекты. Приведем их полные перечни
и рассмотрим, с разной степенью подробности, только наиболее важные с
практической точки зрения.
Свойства объекта window
parent — возвращает родительское для
текущего окно;
self — возвращает ссылку на текущее
окно;
top — возвращает ссылку на главное окно;
name — название окна;
opener — ссылка на исходное окно, в
котором было создано данное окно; О dosed — сообщает, если окно закрыто;
status — текст, показываемый в строке
состояния браузера;
def aultstatus — текст строки состояния
браузера по умолчанию;
returnValue — позволяет определить возвращенную
переменную для события или диалогового окна;
client — ссылка, которая возвращает
объект навигатора браузеру;
document — ссылка «только для чтения»
на объект окна document;
event — ссылка «только для чтения» на
глобальный объект event;
history — ссылка «только для чтения»
на объект окна history;
location — ссылка «только для чтения»
на объект окна location;
navigator — ссылка «только для чтения»
на объект окна navigator;
screen — ссылка «только для чтения»
на глобальный объект screen.
«Только для чтения» означает, что данное свойство изменять
нельзя.
Свойство parent позволяет обратиться к объекту, находящемуся в иерархии
на одну ступень выше, например к окну, содержащему коллекцию фреймов,
в которой находится наш фрейм. Для перемещения на две ступени вверх нужно
писать parent.parent и т. д.:
Чтобы обратиться к самому главному окну, т. е. к окну браузера,
следует использовать свойство top. Однако top не может обращаться к главному
фрейму вашей системы разбиения на фреймы.
Свойство name соответствует имени фрейма, которое мы задаем и теге <FRAMESET>.
Свойство status полезно использовать для вывода сообщений во время работы
сценария, например, при отладке:
window.status="Ceйчac работает сценарий"
Методы объекта window
open — открывает новое окно браузера;
dose — закрывает текущее окно браузера;
showHelp — показывает окно подсказки
как диалоговое;
showModalDialog — показывает новое окно
как диалоговое;
alert — показывает окно предупреждения
с сообщением и кнопкой ОК;
prompt — показывает окно приглашения
с сообщением и текстовым полем;
confirm — показывает окно подтверждения
с сообщением и кнопками ОК и Cancel
(Отмена);
navigate — загружает другую страницу
с указанным адресом;
scroll — разворачивает окно на заданные
ширину и высоту;
setinterval — указывает процедуре выполняться
периодически через заданное количество миллисекунд;
setTimeout — запускает программу через
заданное количество миллисекунд
после загрузки страницы;
clear Interval — обнуляет таймер, заданный
методом setinterval;
clearTimeout — обнуляет таймер, заданный
методом setTimeout;
execScript — выполняет код сценария;
по умолчанию JScript.
Методы объекта window предоставляют возможности управления
окнами и выполнения в них различных задач. Например, чтобы создать новое
окно браузера, можно использовать метод open, а чтобы его закрыть — close.
Следующий фрагмент программы создает новое окно браузера и показывает
в нем документ new.htm (в общем случае можно указать URL-адрес документа):
window. open ("new .htm")
Ниже приводится текст HTML-программы, которая просит пользователя ввести
адрес страницы и, если введен непустой адрес, пытается загрузить ее в
браузер.
<SCRIPT>
window . alert ( "Вы хотите перейти к другой странице!");
, Adress=window .prompt ("Введите адрес страницы","");
if (Adress!= null)
{
window . status = "HoBHft адрес: "i-Adress;
window. navigate (Adress) ;
}
</SCRIPT>
Метод scroll позволяет развернуть
страницу в заданных пределах. Например, чтобы задать ширину в 300 и высоту
в 200 пикселов, надо написать:
window.scroll(300,200)
В ряде случаев может понадобиться, чтобы какая-то процедура
была выполнена с некоторой временной задержкой. С этой целью можно применить
метод setTimeout (), создающий таймер. Например,
следующая строка программы создает таймер, который будет работать 10 с
(10 000 мс) и затем запустит некоторую функцию Myfunc
():
TimeID=window.setTimeout("Myfunc()",10000)
Если потребуется перезапустить таймер, чтобы повторить процесс, то можно
применить метод setlnterval. Он работает
так же, как и setTimeout, но с той разницей, что вызывается периодически
через заданное количество миллисекунд. Например, функция Myfunc() будет
периодически вызываться через каждые 5 с:
TimeID=window.setlnterval("Myfunс()",5000)
Метод setlnterval уже был использован в примере создания движущейся картинки.
События объекта window
onblur — выход окна из фокуса;
onfocus — окно становится активным;
onhelp — нажатие пользователем клавиш
<F1>;
onresize — изменение пользователем размеров
окна;
onscroli — прокрутка окна пользователем;
onerror — ошибка при передаче;
onbeforeunload — перед выгрузкой страницы,
что позволяет сохранить данные;
onload — страница полностью загружена;
onunioad — непосредственно перед выгрузкой
страницы.
Среди перечисленных выше событий три происходят в результате
действий пользователя. Если открыто несколько окон браузера, пользователь
может переключаться между ними, переводя фокус с одного окна на другое.
Эти действия инициируют события onblur и onfocus. Заметим, что эти же
события можно вызвать программным способом, используя методы blur и focus.
Если происходит ошибка при загрузке страницы или ее элемента, то инициируется
событие onerror. Мы можем использовать это событие в программе, чтобы,
например, попытаться еще раз загрузить страницу или как-то изменить дальнейшие
действия. Вот пример:
<SCRIPT>
function window.onerror ()
{
alert("Произошла ошибка! Попробуйте еще раз")
}
</SCRIPT>
Событие onload происходит,
когда в окно загружается страница; событие onbeforunload — перед тем как
страница покинетокно; событие onunloaci —
когда страница выгружена или перед загрузкой новой страницы, или перед
закрытием браузера. Например:
<SCRIPT>
function window.onunload ()
{
alert("Страница выгружается!")
}
</SCRIPT
Объект window имеет
несколько дочерних объектов, которые доступны с его помощью: document,
history, navigator, location, event и screen.