| Работа с окнами |
|
|
|
|
Давайте поподробнее остановимся на некоторых моментах использования свойств и методов окон. Прежде всего, требуется дополнительное рассмотрение метода 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);
Довольно распространенной является организация передачи данных между отдельными окнами браузера или между фреймами внутри одного окна. В стандартной ситуации это нетрудно сделать через объектную модель. Но если страницы двух этих окон относятся к разным доменам - скорее всего вы не сможете получить доступ к объектам (и также переменным, функциям и т.д) другого окна. То же относится и к фреймам. Универсального удобного способа решить эту проблему нет. Следует подумать о возможности передавать данные средствами ajax, cookie, через дополнительные специально организованные страницы, буфер обмена и т.д. По материалам сайта: http://www.spravkaweb.ru/
|



