Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.221.175.164] |
|
Сообщ.
#1
,
|
|
|
Добрый день.
Подскажите плиз!!!! Как закрыть окно зная его имя. Имеется ввиду я его открываю window.open с именем MyWindow. как еого закрыть потом из другой функции. Что-то поискал - не нашел (((. |
Сообщ.
#2
,
|
|
|
win = window.open("123.htm", "MyWindow"); win.close(); |
Сообщ.
#3
,
|
|
|
var MyWin = windows.open('http://localhost', 'MyWindow', ''); MyWin.close(); // Можно применить из функции, если MyWin задана в глобальной области видимости // Насколько я помню, MyWindow - id объекта, так что из другой функции можно и так function myClose() { winObj = document.getElementById('MyWindow'); winObj.close(); } Добавлено P.S.: через document.getElementById() все-таки нельзя, имя окна можно использовать только в аттрибутах target HTML-тэгов. Так что только через хэндлер окна. |
Сообщ.
#4
,
|
|
|
Объявил var MyWin; как глоюальную.
выполнил MyWin = window.open ..... потом MyWin.Close(); нее пашет!!! Поставим задачу поточнее: Мне необходимо при закрытии окна закрыть все окна, которые открвыались вызовом из этого. повесил на событие onUnLoad alert("Ok"); а вот закрытие нет. Как выполнить такое действие. Еще предложения ) |
Сообщ.
#5
,
|
|
|
Цитата Zoran,9.12.04, 12:44 @ Поставим задачу поточнее: Мне необходимо при закрытии окна закрыть все окна, которые открвыались вызовом из этого. Тогда сохранять объекты созданных окон в массиве. А потом уже просто проходиться по нему... |
Сообщ.
#6
,
|
|
|
Задача не в том, как хранить список открытых окон, а в том, чтоб их закрыть.
Даже для одного, если я знаю его имя и открыл как MyWin = window.open... На Close он НЕ ЗАКРЫВАЕТ. Я не могу обратиться к этому окну. Вот и спрашиваю способ обращения!!!!! |
Сообщ.
#7
,
|
|
|
1. Исходники на стол.
2. Браузер и фильтры - в некоторых браузерах есть возможность блокировать автоматическое открытие/закрытие окон ЯваСкриптами. Также бывают фильтры popup'ов. 3. Даже var wh = window.open('my_page.html', 'myWindow'); wh.close(); не работает? 4. Регистр символов в JavaScript имеет значение. То есть использование Close() вместо close() недопустимо. Скорее всего, ошибка именно здесь. |
Сообщ.
#8
,
|
|
|
Не, не получается
Цитата //параметры: url, NameWindow, heigthWindow, widthWindow, toolbar(yes,no), scrollbars(yes,no) function wopen(wurl,wname,h,w,tb,sb){ var LW = window.open(wurl,wname, 'height='+h+',width='+w+',toolbar='+tb+',resizable=0, scrollbars='+sb+',menubar=no,status=no').focus(); //window.alert("A + ', ' + B"); LW.close(); } Вот код. Пишет не допустимый символ в строке LW.close(); У меня в книжке Close(). Тогда пишет Undefined. Дополнительный вопрос: При открытии формы используется focus(); в 2000 винде все нормально, но при использовании XP окно если оно уже открывалось мигает в панели инструментов, но не всплывает! Это что, настройки броузера или как? |
Сообщ.
#9
,
|
|
|
Скорее всего, браузер глючит. А в вызове window.open есть перенос строки? Если да - попробуй без переноса, JS этого не любит.
|
Сообщ.
#10
,
|
|
|
Не, переноса нет.
А на счет браузер глючит - это отмазка, она не принимается. Буду мучаться (((((((((((((((. Будут у кого идеи - пишите!!! |
Сообщ.
#11
,
|
|
|
Цитата var LW = window.open(wurl,wname, 'height='+h+',width='+w+',toolbar='+tb+',resizable=0, scrollbars='+sb+',menubar=no,status=no').focus(); А зачем в конструкторе вызывается .focus() ? Может, так: //параметры: url, NameWindow, heigthWindow, widthWindow, toolbar(yes,no), scrollbars(yes,no) function wopen(wurl,wname,h,w,tb,sb){ var LW = window.open(wurl,wname, 'height='+h+',width='+w+',toolbar='+tb+',resizable=0, scrollbars='+sb+',menubar=no,status=no'); LW.focus(); //window.alert("A + ', ' + B"); LW.close(); } Добавлено У меня эта страничка работает как надо: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script language="javascript" type="text/javascript"> //параметры: url, NameWindow, heigthWindow, widthWindow, toolbar(yes,no), scrollbars(yes,no) function wopen(wurl,wname,h,w,tb,sb){ var LW = window.open(wurl,wname, 'height='+h+',width='+w+',toolbar='+tb+',resizable=0, scrollbars='+sb+',menubar=no,status=no'); LW.focus(); //window.alert("A + ', ' + B"); LW.close(); } </script> </head> <body> <script> wopen('http://localhost', 'MyWin', 500, 500, 0, 0); </script> </body> </html> Окошко открывается и тут же закрывается. Проверил в Опере, IE6, Mozilla. |
Сообщ.
#12
,
|
|
|
Прикиньте:
.focus(); - действительно проблема в этом!!! убрал и все заработало. А почему так сделал??? - пример такой нашел ((((. Всем спасибки ) |