Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Проверка существования родительного окна


Автор: Golden Hands 9.6.2005, 03:13
Как узнать, из другого окна открыли файл или нет? Cуществует ли родительное окно?

Автор: Sardar 9.6.2005, 21:53
Никак. Можно открыть окно с заданными именем, если твоя страница ранее открывала окно с таким имеменем, то ссылка откроеться в этом окне. Это работает даже если твоя страница перезагружалась после открытия окна.

Автор: Golden Hands 9.6.2005, 23:47
Хм...не понял. smile

Автор: Aliance 10.6.2005, 11:28
А если проверить наличие opener`а?

Автор: Sardar 10.6.2005, 17:25
Цитата(Aliance @ 10.6.2005, 10:28)
А если проверить наличие opener`а?

Не прокатит:

location_opener_part1.htm
Код
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head></head>
<body onLoad="window.status='ura!!!';">
<script type="text/javascript">
<!--
  var b=90;
  alert(window.opener);

function func() {
  window.open("./location_opener_part2.htm", "mywin");
}

//-->
</script>
Ura
<a href="./location_opener_part2.htm">Test</a>

<span onclick="func()">Test name</span>
</body></html>


location_opener_part2.htm
Код
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head></head>

<body onLoad="check();">
<script type="text/javascript">
<!--
function check() {
  alert(window.opener);
  if(window.opener) {
   alert(window.opener.b);
   alert(window.opener.status);
  } else alert("Ne pashet");
}

function func() {
  window.open("./location_opener_part1.htm", "mywin");
}
//-->
</script>
Ura - part 2

<span onclick="func()">Test name</span>

</body></html>


А с именами как я говорил выше прокатит, открываем part1, жмём на test name, открываеться окошко. Затем переходим по ссылке в родительском окне, поподаем на part2, от туда жмём на test name, уже в открытом окне грузиться part1. Но проверить открыто ли окно по моему нельзя.

Автор: Golden Hands 12.6.2005, 23:46
Вот это работает:

Код

function mw()
{
if (window.opener==null)
{
window.status='Нету'; 
return true;
}
else
{
window.status='Есть'; 
return true;
}
}
-->
</script>


Автор: Sardar 12.6.2005, 23:59
Цитата(Golden @ 12.6.2005, 22:46)
Вот это работает:

Плохо прочитал топ, перепутал с ещё одним от тебя smile Да, из дочернего окна можно опросить opener. Если никаких окон не открывать, а перейти по ссылке, как это я в начале понял, то opener существовать не будет.
Звыняюсь smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)