Как было показано при определении синтаксиса, в коде JavaScript не обязательно специально создавать объект window. После запуска браузер, как правило, открывает окно. Оно является полноценным объектом (даже если оно пустое). Поэтому, после того как пользователь загружает страницу, объект window автоматически создается как часть документа, дос тупная для управления в сценарии.
Здесь мы сталкиваемся с потенциальной ловушкой: часто разработчики предполагают, что обработчики событий объекта window или значения свойств, присвоенные в сценарии, могут "пережить" документ, в котором выполняется сценарий. За исключением очевидных физических свойств окна, каждый новый документ, загружаемый в окно, обновляет свойства и обработчики окна в исходное состояние.
Управление в сценарии элементами пользовательского интерфейса существующего (уже открытого) окна сильно зависит от типа и версии браузера. В браузерах до версии 4 можно изменить только строку состояния (внизу окна браузера). В IE4+ и NN4+ можно в режиме реального времени управлять такими свойствами, как размер, расположение и (в защищенных сценариях браузера Navigator ) отображение отдельных элементов (например панелей инструментов и полос прокрутки). Многие из свойств можно изменять только в специальныхбезопасных диапазонах, если сценарии криптографически защищены и/или пользователь разрешает сценариям производить такие операции.
Во всех браузерах свойства окон более гибкие, когда в сценарии создается новое окно (методом window.open ()): для него изменяются размеры окна, отображаются панели инструментов, полосы прокрутки и определяются дополнительные элементы окна. Последние версии браузеров поддерживают такие настройки окна, как его положение на экране и скрытие строки заголовка. И вновь, если определенная опция может использоваться для разоблачения личных данных пользователя (например, попытка скрыть окно, которое отображает действия, производимые в другом окне), то нужно использовать защищенные сценарии.