Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Java / JavaScript


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Java/JavaScript

Выпуск № 296
от 17.12.2006, 16:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 316, Экспертов: 27
В номере:Вопросов: 1, Ответов: 2


Вопрос № 66668: Здравствуйте! Как узнать заблокированы ли всплывающие окна в браузере пользователя? Как продолжить работу скрипта, только после того как всплывающее окно будет закрыто? Возможно ли перезагрузить страницу в родительском окне? ...

Вопрос № 66.668
Здравствуйте!

Как узнать заблокированы ли всплывающие окна в браузере пользователя?
Как продолжить работу скрипта, только после того как всплывающее окно будет закрыто?
Возможно ли перезагрузить страницу в родительском окне?

В принципе одного ответа на любой вопрос хватит, конечно хотелось бы по подробнее.

Или хоть просто ссылочку на статью про всплывающие окна и js.

Мне нужно показать юзеру окошечко на некоторое время, убрать его и если так и было открыть следующую страничку в родительском окне.
Синхронизация по времени глючит на медленных линиях.А мне бы хотелось всё же знать видел ли юзер моё сообщение или нет, причем не раньше чем загрузится следующая страница.
Отправлен: 12.12.2006, 15:42
Вопрос задал: Талипов А Н (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 14)

Отвечает: 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
Комментарий оценки:
Это не совсем то, что я хотел.Подробнее на минифоруме и раньше и позже написано.Сложно объяснить, почему ваш вариант не подходит. Давайте остановимся натом, что мне, просто, ненравится.Или на том, что я оказался жутко упрямым.


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное