Клиентский JavaScript. Справочник

         

Описание


Объект window это объект верхнего уровня в клиентской иерархии JavaScript. Объект window может представлять окно верхнего уровня или фрэйм из набора фрэймов. Для удобства Вы можете представлять объект Frame как объект window, который не является окном верхнего уровня. Однако в действительности не существует отдельный класс Frame; эти объекты в действительности являются объектами window с очень небольшими отличиями:

  • Для окна верхнего уровня свойства parent и top являются ссылками на само это окно. Для фрэйма - top ссылается на самое верхнее окно браузера, а parent ссылается на родительское окно текущего окна.
  • Для окна верхнего уровня установка свойства defaultStatus или status устанавливает текст status-строки браузера. Для фрэйма установка этих свойств устанавливает только текст статусной строки, когда курсор находится над фрэймом.
  • Метод close не используется для окон, которые являются фрэймами.
  • Для создания обработчика onBlur или onFocus для фрэйма Вы обязаны установить свойство onblur или onfocus и специфицировать его в нижнем регистре (нельзя специфицировать его в HTML).
  • Если тэг FRAME содержит атрибуты SRC и NAME, Вы можете обратиться к этому фрэйму из фрэйма-родственника через parent.frameName или parent.frames[index]. Например, если четвёртый фрэйм из набора фрэймов имеет атрибут NAME="homeFrame", фрэймы-родственники могут обратиться к этому фрэйму parent.homeFrame или parent.frames[3].

Для всех окон свойства self и window объекта window являются синонимами текущего окна, и Вы можете по выбору использовать их для обращения к текущему окну. Например, можно закрыть текущее окно, вызвав метод close в window или в self. Вы можете использовать эти свойства, чтобы сделать Ваш код более читабельным или чтобы отличить ссылку self.status от status. См. далее примеры для свойств и методов.

Поскольку принимается существование текущего окна, Вы не должны обращаться к имени окна при вызове его методов и присвоении значений свойств. Например, status="Jump to a new location" это верное присвоение свойства, а close() это верный вызов метода.

Однако, если Вы открываете или закрываете окно обработчиком события, Вы обязаны специфицировать window.open() или window.close() вместо open() или close(). Из-за видимости static-объектов в JavaScript, вызов close() без указания имени объекта эквивалентен document.close().

По некоторым причинам, если Вы обращаетесь к объекту location в обработчике события, Вы обязаны специфицировать window.location вместо location. Вызов location без специфицирования имени объекта эквивалентен document.location, что является синонимом document.URL.

Вы можете обратиться к объектам Frame окна в коде через использование массива frames. В окне с тэгом FRAMESET массив frames содержит вхождение для каждого фрэйма.

Окну нужны обработчики событий, пока HTML, который содержит тэг BODY или FRAMESET, не будет загружен в него.



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