Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.01.2009, 12:53
Новичок на форуме
Отправить личное сообщение для Chameleon Посмотреть профиль Найти все сообщения от Chameleon
 
Регистрация: 06.01.2009
Сообщений: 5

Как определить активное окно/вкладку?
Вопрос собственно в том, как определить активное окно/вкладку браузера?

Поясню зачем нужно, возможно вы предложите как сделать по другому:
Есть web-страница, которая раз в 10 секунд опрашивает сервер на предмет наступления определенного события.
Если событие наступило - об этом надо сообщить пользователю (показать сообщение и сразу его скрыть) и удалить информацию о нем (о событии) с сервера.

Все это реализовано. Но проблема в том, что у пользователя эта web-страница может быть открыта неоднократно (в разных вкладках или окнах браузера). И каждая такая страница будет опрашивать сервер. И та, которая опросит первой после наступления события - та его и отобразит. А надо, чтобы отображала только та на которую смотрит пользователь. Т.е. активная. Как ее вычислить?
Ответить с цитированием
  #2 (permalink)  
Старый 11.01.2009, 11:05
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 24.07.2008
Сообщений: 1,271

не давать открывать пользователю больше одной страницы с данного сайта одновременно.
Ответить с цитированием
  #3 (permalink)  
Старый 11.01.2009, 11:28
Новичок на форуме
Отправить личное сообщение для Chameleon Посмотреть профиль Найти все сообщения от Chameleon
 
Регистрация: 06.01.2009
Сообщений: 5

))

Жестоко.

ИМХО, самое глупое решение.
Ответить с цитированием
  #4 (permalink)  
Старый 11.01.2009, 11:52
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Отлавливать focus/blur у каждой страницы. На той, у которой был последний focus -- отображать. blur, пожалуй, можно даже не отлавливать.
Ответить с цитированием
  #5 (permalink)  
Старый 11.01.2009, 12:10
Новичок на форуме
Отправить личное сообщение для Chameleon Посмотреть профиль Найти все сообщения от Chameleon
 
Регистрация: 06.01.2009
Сообщений: 5

Сообщение от Kolyaj Посмотреть сообщение
Отлавливать focus/blur у каждой страницы. На той, у которой был последний focus -- отображать. blur, пожалуй, можно даже не отлавливать.
Во!
Вот за это спасибо.

Я сделал див на всю страницу (самый внешний) и для него сделал:
<div onmouseover="focusHere();" onmouseout="focusOut();">

В обработчиках устанавливаю и снимаю соответствующий флаг, который проверяю перед обращением к серверу.

Просто и эффективно. Спасибо.
Ответить с цитированием
  #6 (permalink)  
Старый 19.03.2012, 06:59
Новичок на форуме
Отправить личное сообщение для imapo Посмотреть профиль Найти все сообщения от imapo
 
Регистрация: 19.03.2012
Сообщений: 1

Цитата:
Я сделал див на всю страницу
Я вот так сделал без лишних движений на jQuery:
$(window).blur(function() {
// Здесь что угодно после ухода в другую вкладку
});

$(window).focus(function() {
// Здесь что угодно после возвращения во вкладку
});
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переменная от переменной или как к имени переменной конкатенировать значение другой Aderba jQuery 5 12.11.2008 14:25
форма как в ExtJS 2 magistr_bender Общие вопросы Javascript 0 11.09.2008 15:01
Как определить включен ли поддержака объектов ActoveX feodul Events/DOM/Window 5 02.06.2008 11:04
как определить шрифты scuter Общие вопросы Javascript 9 19.05.2008 13:32
как определить позицию элемента относительно окна scuter Events/DOM/Window 5 07.05.2008 17:47