Forum Webscript.Ru

Программирование => JavaScript & JScript => Тема начата: Ogogon от 15 Ноября 2003, 22:13:57

Название: Как проверять наличие порожденного окна?
Отправлено: Ogogon от 15 Ноября 2003, 22:13:57
Одна умная книжка, "JavaScript: основы программирования" учит - в порожденном окне сделай переменную "var winOpen=true;" и потом проверяй:
if(mywin.winOpen == null)
    значит нету;

Породил окно с переменной - все чудесно, наличие определяется;
Укокошил окно - нате вам - Ошибка 0: "Вызываемая сторона (сервер [а не приложение-сервер]) недоступна и исчезла; ни одно подключение более не действует. Сам вызов не был выполнен."

Как убедиться, что окно есть, чтобы создать его, если его еще нет и не трогать, если уже есть?

Ogogon.
Название: Как проверять наличие порожденного окна?
Отправлено: Oak от 15 Ноября 2003, 22:58:01

DDD=window.open(............)

................

if( DDD && ! DDD.closed())
 {

  оно есть
 }
Название: Как проверять наличие порожденного окна?
Отправлено: Ogogon от 16 Ноября 2003, 02:06:03
Я сваял нижеследующий код:










На каждое нажатие кнопки, не зависимо от того, есть окно или нет, оно открывается по-новой...
Название: Как проверять наличие порожденного окна?
Отправлено: Nickii от 16 Ноября 2003, 10:15:16
Ogogon

А зачем тебе if(mywin && ! mywin.closed())?
Сделай так:

Название: Как проверять наличие порожденного окна?
Отправлено: Ogogon от 16 Ноября 2003, 13:22:57
Так форточка могла и быть закрытой за это время. Тогда ее открыть надо.
А если нет - не трогать, там всякая важная фигня понаписана.
Название: Как проверять наличие порожденного окна?
Отправлено: Nickii от 16 Ноября 2003, 15:45:56
Ogogon
Дурик - closed - это не функция, а переменная типа BOOLEAN

На тебе работающую версию




 Open My Win
Название: Как проверять наличие порожденного окна?
Отправлено: Oak от 18 Ноября 2003, 02:17:07
sorry - запамятовал. Таки переменная.

Кстати еще можно сделать (вот чего я перепутал) так:


 function openMyWin()
{
if(myWin && ! myWin.closed)  mywin.close();  // zakroem!

  myWin = document.open("","","");  // poyavitsya sverhu drugih
}