Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Определение существования окна? 
V
    Опции темы
Skreaper
Дата 1.7.2007, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 31.3.2006

Репутация: нет
Всего: нет



Всем привет!

Весь форум излазил, но никак не смог найти вот что: как узнать о существовании дочернего окна, находясь в родительском?
PM   Вверх
Zeroglif
Дата 1.7.2007, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 644
Регистрация: 22.9.2005

Репутация: 28
Всего: 66



Код

var x = window.open();
alert(x);

PM MAIL WWW   Вверх
Skreaper
Дата 1.7.2007, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 31.3.2006

Репутация: нет
Всего: нет



Делаю так и он всегда пишет что окно существует, т.е. срабатывает alert('Есть'). Даже если закрыть дочернее окно. В чем проблема?
Код

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Untitled Document</title>
</head>
<script language="javascript" type="text/javascript">
function op2() {
    if(x) {alert('Есть')} else {alert('нет');}
    }
var x = window.open('index.php', 'index','');
</script>
<body>
<span onClick="op2()">Проверить</span><br>
</body>
</html>


PM   Вверх
Zeroglif
Дата 1.7.2007, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 644
Регистрация: 22.9.2005

Репутация: 28
Всего: 66



Код

alert(x.closed);

PM MAIL WWW   Вверх
Skreaper
Дата 1.7.2007, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 31.3.2006

Репутация: нет
Всего: нет



Да, действительно, так работает... ОГРОМНОЕ СПАСИБО  smile 
PM   Вверх
zenuch
Дата 24.12.2007, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 29.1.2007

Репутация: нет
Всего: нет



А что делать после перезагрузки родителя, когда теряется x?
PM MAIL   Вверх
zenuch
Дата 8.1.2008, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 29.1.2007

Репутация: нет
Всего: нет



Вот решение на поставленный мною вопрос:
Код

var window_routine = {
    open: function(url)
    {
        return window.open(url ? url : "", 'my_window', 'width=500, height=500, toolbar=no, status=no, scrollbars=no, resizable=yes, menubar=no, location=no, direction=no');
    },

    init: function()
    {
        my_window = this.open(null);
        if (my_window) {
            if(my_window.any_param_in_created_window == null) {
                my_window = this.open('http://ya.ru');
            }
            my_window.focus();
        }
    }
};


всегда вызываем window_routine.init();
а в созданном окне необходимо js'ом проинициализировать некоторую переменную для примера any_param_in_created_window.
Таким образом в случае если окно не открыто, то мы его создадим заново, в случае если оно уже созданно, то оно не перезагрузиться, даже в случае если мы перезагрузили родителя и потерялась переменная my_window, то при новом вызове window_routine.init() дочернее окно, НЕ перезагрузится!


Это сообщение отредактировал(а) zenuch - 8.1.2008, 21:29
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0729 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.