Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вопрос по window.open();
 
 автор: c-quence   (12.04.2010 в 22:49)   письмо автору
 
 

Доброго времени суток.
Подскажите как отследить открыто ли дочернее окно?
Имеется несколько страниц сайта.
На каждой из них прописана функция открытия дочернего окна. НО, открыть его нужно всего один раз. То есть зашел юзер на главную страницу - открылось дочернее окно с именем *новое окно*. Перешел юзер на другую страницу в пределах сайта - дочернее окно остается открытым и не перезагружается. Если же юзер начал просмотр сайта с другой страницы (не с главной), то опять таки открывается дочернее окно и при последующих прогулках юзера по сайту не открывается еще одна копия дочернего окна и уже открытое не перезагружается. Как это реализовать?

  Ответить  
 
 автор: aexb   (18.04.2010 в 18:59)   письмо автору
 
   для: c-quence   (12.04.2010 в 22:49)
 

Первое, что приходит на ум - использовать куки. Открывается у вас дочернее окно, оно ставит куку (не важно, джаваскриптом или сервером). Родитель, естественно, куку тоже сможет проверять. А по событию закрывания окна кука удаляется или ей задается какое-то значение, говорящее, что окно закрыто.

А зачем вам такая сложная структура? Если нужно хранить какие-то данные пользователя, используйте те же куки или сессии, эти механизмы специально созданы для таких целей.

  Ответить  
 
 автор: АЯ   (18.04.2010 в 22:45)   письмо автору
 
   для: c-quence   (12.04.2010 в 22:49)
 

В методе window.open второй аргумент - это как раз уникальное имя открываемого окна.
Если окно с таковым именем уже открыто, то новый URL будет загружаться в это (открытое) окно.
Если юзер его закроет (и оно перестанет существовать), то откроется новое.

Таким образом, на каждой из страниц сайта пропишите одинаковое имя в методе window.open.
Но, разумеется, не стандартное типа _blank. Надо, например, - myWin123

Аналогично будет работать эта система при использовании атрибута target внутри ссылок. Напишете одно и то же имя для target - все ссылки будут грузиться в одно и то же открытое окно.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования