![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
aazon |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 15.4.2005 Репутация: нет Всего: нет |
У меня есть дочернее окно, открытое скриптом, и есть фрейм в главном окне. Как фрейм должен обращаться к дочернему окну? Конкретно, нужно проверить, существует ли оно, если нет, то открыть такое же, еcли да - то ничего не делать.
Открытие окна (из фрейма):
тоесть имя окна, как я понимаю, dwin. Теперь нужно сделать обращение из фрейма в это окно. KAK??? |
|||
|
||||
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
По переменной:
Полезно почитать: http://forum.vingrad.ru/index.php?showtopic=44559 |
|||
|
||||
Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Aliance, if не нужен, окно всегда будет открыто.
aazon, открывай окна с именами, при повторном открытии существующее окно перезагрузиться. И наоборот, открывай окна _blank|_new если нужно при каждом open открывать новое окно. По теме: нет такой колекции. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
aazon |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 15.4.2005 Репутация: нет Всего: нет |
Мне нужна проверка на существование окна ДО открытия нового такого же. Ситуация такая:
1. Если дочернего окна нет, оно открывается и в него загружается, допустим, a.php 2. Далее пользователь в дочернем окне может нажать на кнопку, и в дочернее окно загрузится b.php. 3. И вот теперь скрипт из фрейма должен помотреть, открыто ли уже дочернее окно. Если нет - то открыть и загрузить в него a.php, а если да, то ничего не делать! Твое решение не удовлетворяет п.3, сначала НОВОЕ окно открывается (а если было открыто, то явно изменяется УРЛ), и только потом идет проверка. Мне же нужно проверку производить ДО открытия. Пробовал менять строки местами, но такой вариант не работает:
|
|||
|
||||
Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Тогда никак. Задача специфичная, не думаю что кто либо сталкивался, но вполне возможно что через XPCOM в мозилле либо какой-нибудь фичей в ИЕ можно получить список окон.
Вопрос остаёться открытым. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
Иль |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 544 Регистрация: 3.3.2005 Где: Москва Репутация: 2 Всего: 14 |
Sardar,
if обязательно нужен, иначе при блокировании всплывавющих окон (в ИЕ 6.0 проверено) dwin.focus() будет выкидывать исключение, тк dwin=null (про try умолчу) -------------------- Ты виндусятник?... А я да. ![]() |
|||
|
||||
zoidberg |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 18.7.2006 Репутация: нет Всего: 0 |
А чем этот код не подходит?
|
||||
|
|||||
Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
zoidberg, тем что это не проверка, а открытие окна.
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
zoidberg |
|
||||||||
![]() Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 18.7.2006 Репутация: нет Всего: 0 |
Но в начале dwin = undefined! Т.е проверка есть... вот например скрипт откроет только 1 окно:
Я так и не понял, что хочет автор. Если пытается отловить нажатие на крестик (закрытие окна, то такого события нет. кросс-браузерно - однозначно нет). К чему все это?
А в какой ситуации его может не быть? Блокировка поп-апов? Тогда хоть голову разбей, но не открыть его.
Ну если у пользователя не блокируются окна, то проблемы тут не возникнут.
Ну так! Если dwin undefined, то пусть скрипт его откроет! Но если пользователь его закроет, то это событие отловить не удастся... или, например, можно спамить дочернее окно при потере фокуса. зы: а может мне пора спать уже т.к я не догоняю. ![]() |
||||||||
|
|||||||||
Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
zoidberg, проблема в том что проверка на открытие окна нужна не в течении одного и того же сеанса, а между загрузками страницы. Открыл окно, перезагрузился, проверил есть ли оно ещё. Вообще плохое то решение, которому потребуеться знать открыто ли окно.
И как уже сказал Иль, требуеться убедиться действительно ли открыто окно, т.к. оно может быть заблокированно. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
aazon |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 15.4.2005 Репутация: нет Всего: нет |
Окна точно не блокируются, на счет этого проблем нет
Согласен, но в некоторых ситуациях приходится вносить коррективы "на лету", и поэтому возникают такие ситуации |
|||
|
||||
12345c |
|
||||||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 57 Всего: 101 |
aazon,
может быть, вы путаете слово "окно" и "документ"? Иначе бы проблему так долго не обсуждали. Если туда загрузился b.php, то надо ли загружать a.php ?
Ещё тут все забыли, что если пользователь или программа закрыли окно, то dwin остаётся существовать, только dwin.closed==true . Поэтому, если точно по вопросу, то решение
Но я догадываюсь, что aazon-у нужно ещё то ли нестирание b.php, то ли незагрузка a.php второй раз, если оно уже в окне. Уточните. Обращение из фрейма к окну - как обычно. dWin определено во фрейме - обращаться надо в общем случае top.frames['имя'].dwin . Из фрейма - можно просто dWin. -------------------- Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go |
||||||
|
|||||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |