Вопрос № 66668: Здравствуйте!
Как узнать заблокированы ли всплывающие окна в браузере пользователя?
Как продолжить работу скрипта, только после того как всплывающее окно будет закрыто?
Возможно ли перезагрузить страницу в родительском окне?
...
Вопрос № 66.668
Здравствуйте!
Как узнать заблокированы ли всплывающие окна в браузере пользователя?
Как продолжить работу скрипта, только после того как всплывающее окно будет закрыто?
Возможно ли перезагрузить страницу в родительском окне?
В принципе одного ответа на любой вопрос хватит, конечно хотелось бы по подробнее.
Или хоть просто ссылочку на статью про всплывающие окна и js.
Мне нужно показать юзеру окошечко на некоторое время, убрать его и если так и было открыть следующую страничку в родительском окне.
Синхронизация по времени глючит на медленных линиях.А мне бы хотелось всё же знать видел ли юзер моё сообщение или нет, причем не раньше чем загрузится следующая страница.
Отвечает: dianacode
Доброе время суток, Талипов А Н
0) узнать что окно было заблокировано можно выставлением cookies и чтением оных из родительского окна - если прочитать не удалось - значит окна не было
также можно выловить это, прочитав одну из переменных созданного окна - если они(переменные) отсутствуют - значит окна не было
1) опять же проверять переменные из родителя (если хотите следить из родителя)
или просто-напросто при закрытии (поставить прослушку на реакцию закрытия нового окна) выполнить одну из родительских функций
2) перезагрузка родителя:
window.opener.location.replace('/');
симпл вариант для загрузки в родителя другой страницы:
http://p2p.wrox.com/topic.asp?TOPIC_ID=13319
с уважением, удачи
--------- there is more than one way to do it
Ответ отправила: dianacode (статус: Студент)
Ответ отправлен: 12.12.2006, 16:24 Оценка за ответ: 5 Комментарий оценки: Не совсем то, но уже близкок нужному.И спасибо за ответы на минифоруме.
Отвечает: Яруллин Азат Рифкатович
Здравствуйте, Талипов А Н!
Чтобы не мучится с определением окно открыто или нет, видел ли его пользователь или нет и чтобы с cookie не мучится сделать так:
Создаете div, его содержимое - это содержимое всплывающего окна.
В стилях этого блока указываете что он должен быть во весь экран, и чтобы он не прокручивался, если страница больше высоты окна, указываете: position: fixed;
Далее идет основной текст.
По прохождению определенного времени или ещё чего-то убираете этот блок.
(можно сделать типа кнопки закрытия - крестик)
В результате остается основная страница.
На счет перезагрузки... В данном случае она не нужна, если грузится та же страница; если же другая, то просто можно добавить document.location.href="http://...";
Надеюсь это решило Вашу проблему. Пример в приложении.
Удачи!
Приложение:
Ответ отправил: Яруллин Азат Рифкатович (статус: Студент)
Ответ отправлен: 12.12.2006, 17:12 Оценка за ответ: 4 Комментарий оценки: Это не совсем то, что я хотел.Подробнее на минифоруме и раньше и позже написано.Сложно объяснить, почему ваш вариант не подходит. Давайте остановимся натом, что мне, просто, ненравится.Или на том, что я оказался жутко упрямым.