Javascript.RU

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

проверка открытой страницы. Т.е. активна ли она в данный момент.
На странице каждые 5 секунд происходит ajax запрос, для обновления статуса. Вопрос: Как можно проверить, активна ли текущая страница в браузере? Чтобы лишний раз не гонять ajax функции, если пользователь не просматривает данную страницу.
Ответить с цитированием
  #2 (permalink)  
Старый 06.07.2012, 13:07
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

titan68,
Поставить события на body
onmouseout/onmouseover
По onmouseout - отключать запросы
---------------------------------------
по onmouseout сбрасывать флаг разрешения запросов с 5-секундной задержкой
Пр onmouseover сбрасываем таймер сброса флага /clearTimeout(TimerID) и устанавливаем флаг в true , тогда кратковременные уходы курсора сo вкладки на 1-2 секунды не будут дергать режимы подгрузки
------------------------------------------
Ситуация не под контролем - если вкладка открыта - но находиться в сжатом виде на части экрана- а пользователь занят своими делами на рабочем столе ( как выход слайдер - проигрыватель предыдущих запросов( можно сохранить в window.name, при отсутствии мыши, крутить слайдер из сохранённой в window.name инфе

Последний раз редактировалось Deff, 06.07.2012 в 13:21.
Ответить с цитированием
  #3 (permalink)  
Старый 06.07.2012, 13:51
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Page Visibility API
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #4 (permalink)  
Старый 06.07.2012, 13:54
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

window.onblur = function () {document.title='документ неактивен'}
window.onfocus = function () {document.title='документ снова активен'}
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #5 (permalink)  
Старый 06.07.2012, 14:03
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

devote,
Ну сюды тады навернуть и history, если вкладка в центре
посколь переход с предыдущей (или ток в Опере?) .onfocus не вызывает
Ответить с цитированием
  #6 (permalink)  
Старый 06.07.2012, 14:17
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от Deff
devote,
Ну сюды тады навернуть и history, если вкладка в центре
посколь переход с предыдущей (или ток в Опере?) .onfocus не вызывает
ну понятно дело что это хреновый костыль. Но подрихтовать его можно.. А там где есть поддержка Page Visibility API юзать его
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #7 (permalink)  
Старый 06.07.2012, 14:22
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

devote,
ну не наю - но вродь по onmouseout/onmouseover(с задержками) достаточно логично если нет долго курсора - наф там активные дерги сервера ?
Ответить с цитированием
  #8 (permalink)  
Старый 06.07.2012, 14:39
Новичок на форуме
Отправить личное сообщение для titan68 Посмотреть профиль Найти все сообщения от titan68
 
Регистрация: 06.07.2012
Сообщений: 2

Спасибо всем за помощь,
Думаю window.onblur, window.onfocus пока вполне подойдет.
Ответить с цитированием
  #9 (permalink)  
Старый 06.07.2012, 15:16
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от devote
Но подрихтовать его можно..
Ксать рихтовка (с минималистичным кодом) достаточно интересна
в качестве востребованности для функции Чат(не гонять запросы с непросматриваемых страниц
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка открытой во фрейме и загружаемой в него страницы и стилизация ссылок 234325 Общие вопросы Javascript 2 13.01.2009 20:10