Дочернее окно в JavaScript

dfa

Новичок
Дочернее окно в JavaScript

Подскажете как получить ссылку на дочернее окно из родительского (при отсуствие ссылки 'widow.open()') ?
 

dfa

Новичок
opener это из дочернего на родительское, а мне наоборот
 

dfa

Новичок
Опишу ситуацию:
1)Открываем родительское окно;
2)Из него создаем новое дочернее окно 'handle=widow.open()';
3)Потом делаем reload() родительского окна и соответственно теряется handle дочернего.

Вот я и хочу узнать как можно получить обратно handle дочернего окна из родительского.
 

dfa

Новичок
а что нибудь на подобие getelementbyid()
только для окон может существует, например какое нибудь getWindow()
 

WDStalker

Новичок
Нет такого.
Я делал через фреймы, сохранял объект окна в другом фрейме.
 

an_kalinovski

Новичок
Автор оригинала: dfa
3)Потом делаем reload() родительского окна и соответственно теряется handle дочернего.
Для чего и кем делается этот reload родительского окна? Он делается юзером или системой автоматически?
 

dfa

Новичок
Автор оригинала: an_kalinovski
Для чего и кем делается этот reload родительского окна? Он делается юзером или системой автоматически?
Делается юзером.
"reload()" - я имел в виду и перезагрузку окна и переходы по сслыкам в родительском окне.
 

eddie

Новичок
может подойдет такой способ:

открывать пустое окно - повторный вызов open с пустым url и тем же target не делает reload дочернего окна, но возвращает ссылку на него.
проверять наличие в нем определенной переменной(флаг), если ее нет - менять location, иначе - просто использовать handle

if(w=window.open('','MYWINDOW','width=800,....'))
{
try
{
if(!w.exists)
w.location='http://some_url'; // в этой page устанавливаем флаг exists=1
else
w.someFunction();
}
catch(e){}
}

try/catch для перехвата Access Denied - можно и без него если domain не меняется
 
Сверху