Справочник по JavaScript : Объект window : Работа с окнами

смотрим также

Материал из Справочник Web-языков

Перейти к: навигация, поиск


Давайте поподробнее остановимся на некоторых моментах использования свойств и методов окон.

Прежде всего, требуется дополнительное рассмотрение метода open. Он позволяет Web-дизайнеру открыть на экране дополнительное окно Web-обозревателя и поместить в него какую-либо страницу - очень полезное средство для разработки сложных многостраничных сайтов.

var contentsWindow;
contentsWindow = window.open("https://www.spravkaweb.ru/contents.htm","contents");

В этом примере мы создали новое окно, загрузили в него некую Web-страницу и присвоили ей имя contents. Метод open вернул ссылку на объект вновь созданного окна, которую мы можем впоследствии использовать для работы с этим окном:

contentsWindow.Left = 300;

Имя окна можно использовать в атрибуте TARGET тега <A>:

<A href="https://www.spravkaweb.ru/contents2.htm"
target="contents">Содержание</A>

Можно использовать дополнительные свойства окна, чтобы тонко управлять его характеристиками. Например, мы очень легко можем убрать у вновь создаваемого окна полосу инструментов и строку состояния:

contentsWindow = window.open("https://www.spravkaweb.ru/contents.htm",
"contents", "toolbar=no", "status=no");

Мы можем задать начальные координаты и размеры создаваемого окна:

contentsWindow = window.open("https://www.spravkaweb.ru/contents.htm",
"contents", "top=100", "left=200", "width=400", height="200");

А эта строка будет работать только в NN версии 4.06 или более поздней:

contentsWindow = window.open("https://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, через дополнительные специально организованные страницы, буфер обмена и т.д.

Добавить страницу в закладки:
РАЗРЕШАЕТСЯ перепечатывать и копировать информацию ТОЛЬКО ПРИ РАЗМЕЩЕНИИ ссылки на оригинал!
(<A href="https://www.spravkaweb.ru/">Справочник Web-языков</A>)
другие проекты
Rambler\'s Top100 Индекс цитирования