Объект window
Методы
alert()
alert({Текст})
Выводит на экран окно предупреждения с текстом, переданным в качестве параметра.
back()
Возвращается к предыдущему документу, как если бы на панели инструментов нажали кнопку Назад.
Поддерживается только NN начиная с 4.0
blur()
Удаляет фокус с окна.
clearInterval()
clearInterval({Таймер})
Останавливает таймер, установленный методом setInterval.
clearTimeout()
clearTimeout({Таймер})
Останавливает и уничтожает таймер, установленный методом setTimeout.
close()
Закрывает текущее окно. Если окно было открыто методом open(), то оно закрывается сразу же, если же оно было открыто пользователем, сначало появляется окно предупреждения, предлагающее пользователю сделать выбор.
confirm()
confirm({Текст})
Выводит на экран окно предупреждения с текстом, переданным в качестве параметра, предлагающее пользователю сделать выбор. Если пользователь нажмет Ок, возвращается true, если Отмена - false.
execScript()
execScript({Выражение},{Язык})
Вычисляет переданное в качестве первого параметра выражение. Второй аргумент должен иметь значение "JavaScript".
Поддерживается только IE начиная с 4.0
find()
find([{Строка поиска}[, true|false, true|false]])
Выводит на экран диалоговое окно задания параметров поиска.
Первым аргументом передается строка поиска.
Второй задает, будет ли поиск производиться с учетом регистра символов (true) или нет (false, значение по умолчанию).
Третий - будет ли поиск производиться с конца документа к началу (true) или обычным порядком (false, значение по умолчанию).
Возвращает true, если поиск был успешным.
Поддерживается тольк NN начиная с 4.0
focus()
Переносит фокус на текущее окно.
forward()
Переходит к следующему документу в списке истории, как если бы на панели инструментов нажали кнопку Вперед.
Поддерживается только NN начиная с 4.0
home()
Переходит на "домашнюю" страницу, заданную в настройках Web-обозревателя, как если бы на панели инструментов нажали кнопку Домой.
Поддерживается только NN начиная с 4.0
moveBy()
moveBy({X},{Y})
Перемещает окно на X пикселов вправо и на Y пикселов вниз. Для перемещения влево и вверх задайте отрицательные значения X и Y.
moveTo()
moveTo({X},{Y})
Перемещает окно в точку экрана, заданную координатами X и Y.
navigate()
navigate({Адрес})
Загружает в окно Web-страницу, адрес которой передан в качестве параметра.
Поддерживается только IE.
open()
open({Адрес}, {Имя окна}, [{Список свойств окна, разделенных запятыми}])
Открывает новое окно Web-обозревателя, загружает в него документ, адрес которого передан в первом параметре, и присваивает окну имя, переданное во втором параметре.
В третьем параметре может быть передан список свойств окна.
Список свойств окна height высота окна в пикселях
width ширина окна в пикселях
left расстояние от левого края рабочего стола в пикселях
top расстояние от верзнего края рабочего стола в пикселях
directories показать или скрыть панель каталогов
location показать или скрыть строку адреса
menubar показать или скрыть строку меню
resizable определяет, можно ли изменить размеры окна
scrollbars показать или скрыть полосы прокрутки для документа
status показать или скрыть строку состояния
toolbar показать или скрыть панель инструментов
Пример:
window.open("./my_page.html", windowName, "status=no,resizable=no,scrollbars=yes,width=400,height=300");
print()
Печатает содержимое окна на принтере.
prompt()
prompt({Приглашение}, [{Значение по умолчанию}])
Выводит на экран диалоговое окно с полем ввода, приглашающее пользователя ввести какое-либо строковое значени. Текст приглашения передается в качестве первого параметра; во втором параметре может быть передано значение по умолчанию.
resizeBy()
resizeBy({X},{Y})
Увеличивает окно на X пикселов по горизонтали и на Y пикселов по вертикали. Для уменьшения окна задайте отрицательные значения X и Y.
resizeTo()
resizeTo({X},{Y})
Увеличивает или уменьшает окно до размера, заданного значениями X и Y.
scroll()
scroll({X},{Y})
Прокручивает содержимое окна до точки с координатами X и Y. Не рекомендуется к использованию и сохранен только для совместимости.
scrollBy()
scrollBy({X},{Y})
Прокручивает содержимое окна на X пикселов вправо и на Y пикселов вниз. Для прокрутки влево и вверх задайте отрицательные значения X и Y.
scrollTo()
scrollTo({X},{Y})
Прокручивает содержимое окно в точку, заданную значениями X и Y.
setHotKeys()
setHotKeys(true|false)
Разрешает (true) или запрещает (false) "горячие" клавиши в окне, не имеющем строки меню.
Поддерживается только NN начиная с 4.0
setInterval()
Метод создает новый интервальный таймер.
window.setInterval("{Выражение}"|{Функция}, {Интервал}[, "{Язык}"]);
Метод принимает три параметра.
Первый параметр задает либо имя функции, либо текст выражения, которое будет выполняться каждый раз по истечении заданного времени.
Второй параметр задает само это время в миллисекундах.
Третий необязательный параметр задает скриптовый язык, на котором написано выражение или функция.
Метод возвращает ссылку на созданный таймер.
Поддерживается IE начиная с 4.0
Поддерживается NN начиная с 4.0
setResizeeable()
setResizeeable(true|false)
Разрашает (true) или запрещает (false) пользователю изменять размеры окна.
Поддерживается только NN начиная с 4.0
setTimeout()
Метод создает новый тайм-аут.
window.setTimeout("{Выражение}"|{Функция}, {Интервал}[, "{Язык}"]);
Метод принимает три параметра.
Первый параметр задает или имя функции, или текст выражения, которое выполнится по истечении заданного времени.
Второй параметр задает само это время в миллисекундах.
Третий необязательный параметр задает скриптовый язык, на котором написано выражение или функция. Возможны три значения:
JScript (по умолчанию), JavaScript и VBScript.
Метод возвращает ссылку на созданный тайм-аут.
Поддерживается IE начиная с 3.02
Поддерживается NN начиная с 2.0; вызов функции - только с 4.0
stop()
Останавливает загрузку текущей страницы.
Поддерживается только NN начиная с 4.0
Свойства окна, передаваемые методу open
alwaysLowered
alwaysLowered=yes|no
Если yes, то создаваемое окно будет всегда находиться под другими окнами, даже если оно имеет фокус.
Поддерживается только NN начиная с 4.06
alwaysRaised
alwaysRaised=yes|no
Если yes, то создаваемое окно будет всегда находиться над другими окнами, даже если оно не имеет фокуса.
Поддерживается только NN начиная с 4.06
channelmode
channelmode=yes|no
Если yes, то создаваемое окно будет отображаться с панелью каналов (так называемый "режим театра").
Поддерживается только IE начиная с 4.0
dependent
dependent=yes|no
Если yes, то создаваемое окно будет дочерним по отношению к создавшему, т.е. при закрытии создающего окна будет закрываться и создаваемое.
Поддерживается только NN начиная с 4.06
directories
directories=yes|no
Включает или отключает отображение кнопок директорий Navigator, у создаваемого окна.
fullscreen
fullscreen=yes|no
Если yes, то создаваемое окно займет весь экран (так называемый "режим киоска").
Поддерживается только IE начиная с 4.0
height
height={Высота}
Задает высоту создаваемого окна в пикселах.
hotkeys
hotkeys=yes|no
Если no, то большинство "горячих" клавиш будут запрещены в создаваемом окне.
Поддерживается тольк NN начиная с 4.06
innerHeight
innerHeight={Высота}
Задает высоту клиентской области создаваемого окна в пикселах.
Поддерживается только NN начиная с 4.06
Рекомендуется использовать вместо height
innerWidth
innerWidth={Ширина}
Задает ширину клиентской области создаваемого окна в пикселах.
Поддерживается только NN начиная с 4.06
Рекомендуется использовать вместо width
left
left={X}
Задает горизонтальную координату левого верхнего угла создаваемого окна.
Поддерживается только IE начиная с 4.0
location
location=yes|no
Включает или отключает отображение панели адреса, включающего строку ввода адреса, у создаваемого окна.
menubar
menubar=yes|no
Включает или отключает отображение строки меню у создаваемого окна.
outerHeight
outerHeight={Высота}
Задает полную (с рамками, строкой меню, полосами инструментов) высоту создаваемого окна в пикселах.
Поддерживается только NN начиная с 4.06
Рекомендуется к использованию вместо height.
outerWidth
outerWidth={Ширина}
Задает полную (с рамками, строкой меню, полосами инструментов) ширину создаваемого окна в пикселах.
Поддерживается только NN начиная с 4.06
Рекомендуется к использованию вместо width.
replace
replace=yes|no
Если yes, то адрес документа, размещаемого в создаваемом окне, заменит в списке истории адрес документа, находящегося в создающем окне.
Поддерживается тольк IE начиная с 4.0
resizable
resizable=yes|no
Включает или отключает возможность изменения размера создаваемого окна.
screenX
screenX={X}
То же, что и left для IE.
Поддерживается только NN начиная с 4.06
screenY
screenY={Y}
То же, что и top для IE.
Поддерживается только NN начиная с 4.06
scrollbars
scrollbars=yes|no
Включает или отключает отображение полос прокрутки у создаваемого окна.
status
status=yes|no
Включает или отключает отображение строки состояния у создаваемого окна.
titlebar
titlebar=yes|no
Включает или отключает отображение заголовка у создаваемого окна.
Поддерживается только IE начиная с 4.0
toolbar
toolbar=yes|no
Включает или отключает отображение панели инструментов у создаваемого окна.
top
top={Y}
Задает вертикальную координату левого верхнего угла создаваемого окна.
Поддерживается только IE начиная с 4.0
width
width={Ширина}
Задает ширину создаваемого окна в пикселах.
z-lock
z-lock=yes|no
Если yes, то создаваемое окно никогда не будет перемещаться выше других окон, даже если получает фокус.
Поддерживается только NN начиная с 4.06
Вместо значений yes и no вы можете использовать 1 и 0, либо если вообще указывается параметр - соответствует yes, если параметр не указан - no.
Некоторые версии Web-обозревателей для определенных параметров принимают только значения 1 и 0.
Работа с окнами
Давайте поподробнее остановимся на некоторых моментах использования свойств и методов окон.
Прежде всего, требуется дополнительное рассмотрение метода open. Он позволяет Web-дизайнеру открыть на экране дополнительное окно Web-обозревателя и поместить в него какую-либо страницу - очень полезное средство для разработки сложных многостраничных сайтов.
var contentsWindow; contentsWindow = window.open("http://www.spravkaweb.ru/contents.htm","contents");
В этом примере мы создали новое окно, загрузили в него некую Web-страницу и присвоили ей имя contents. Метод open вернул ссылку на объект вновь созданного окна, которую мы можем впоследствии использовать для работы с этим окном:
contentsWindow.Left = 300;
Имя окна можно использовать в атрибуте TARGET тега <A>:
<A href="http://www.spravkaweb.ru/contents2.htm" target="contents">Содержание</A>
Можно использовать дополнительные свойства окна, чтобы тонко управлять его характеристиками. Например, мы очень легко можем убрать у вновь создаваемого окна полосу инструментов и строку состояния:
contentsWindow = window.open("http://www.spravkaweb.ru/contents.htm", "contents", "toolbar=no", "status=no");
Мы можем задать начальные координаты и размеры создаваемого окна:
contentsWindow = window.open("http://www.spravkaweb.ru/contents.htm",
"contents", "top=100", "left=200", "width=400", height="200");
А эта строка будет работать только в NN версии 4.06 или более поздней:
contentsWindow = window.open("http://www.spravkaweb.ru/contents.htm",
"contents", "screenY=100", "screenX=200", "outerWidth=400", outerHeight="200");
Когда создание окна перестанет быть нужным, его можно закрыть при помощи метода close. Свойство closed позволит в дальнейшем проверить, закрыто ли это окно (например, если его закроет пользователь):
contentsWindow.close; if(contentsWindow.closed) . . .
Свойство status позволяет поместить в строку состояния какой-либо текст, отличный от текста по умолчанию:
window.status = "Справочник WEB - языков";
А свойство defaultStatus позволит также просто вернуть туда текст по умолчанию:
window.status = window.defaultStatus;
Вы также можете вести примитивный диалог с пользователем, используя три специально предусмотренных метода. Метод alert выводит на экран окно предупреждения с заданным текстом и кнопкой Ок:
window.alert("Привет!!!");
Метод confirm отображает окно сообщения с текстом и кнопками Ок и Отмена. Если пользователь нажал Ок, возвращается true, иначе - false.
if(window.confirm("Выберите что-нибудь.")) alert("Вы нажали Ок"); else alert("Вы нажали Отмена");
Метод prompt позволяет запросить у пользователя какие-либо данные. Он выводит диалоговое окно с полем ввода и кнопками Ок и Отмена. В качестве параметров принимается текст приглашения и необязательный текст по умолчанию, отображаемый в поле ввода:
string=window.prompt("Пример использования метода prompt:", "Введите что-нибудь"); alert(string);
Проблема передачи данных между окнами, если url этих окон относятся к разным доменам
Довольно распространенной является организация передачи данных между отдельными окнами браузера или между фреймами внутри одного окна. В стандартной ситуации это нетрудно сделать через объектную модель. Но если страницы двух этих окон относятся к разным доменам - скорее всего вы не сможете получить доступ к объектам (и также переменным, функциям и т.д) другого окна. То же относится и к фреймам. Универсального удобного способа решить эту проблему нет. Следует подумать о возможности передавать данные средствами ajax, cookie, через дополнительные специально организованные страницы, буфер обмена и т.д.
По материалам сайта: http://www.spravkaweb.ru/