Объект 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.
|