Иллюстрированный самоучитель по WEB-графике

       

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


    Содержание раздела