Объект window
Объект window
Объект 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 и т. д.:
parent.window.frames(0)
parent.parent.window.frames(0)
Чтобы обратиться к самому главному окну, т. е. к окну браузера, следует использовать свойство top. Однако top не может обращаться к главному фрейму вашей системы разбиения на фреймы.
Свойство name соответствует имени фрейма, которое мы задаем и тэге <FRAMESET>.
Свойство status полезно использовать для вывода сообщений во время работы сценария, например, при отладке:
window.status="Ceйчac работает сценарий"
Методы объекта window
- open — открывает новое окно браузера;
- dose — закрывает текущее окно браузера;
- showHelp — показывает окно подсказки как диалоговое;
- showModalDialog — показывает новое окно как диалоговое;
- alert — показывает окно предупреждения с сообщением и кнопкой ОК;
- prompt — показывает окно приглашения с сообщением и текстовым полем;
- confirm — показывает окно подтверждения с сообщением и кнопками ОК и Cancel (Отмена);
- navigate — загружает другую страницу с указанным адресом;
- blur — убирает фокус с текущей страницы; соответствующее событие — onblur;
- focus — устанавливает страницу в фокус; соответствующее событие - onf ocus;
- 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.