Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Неактивные окна 
:(
    Опции темы
DEER
Дата 4.12.2012, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 749
Регистрация: 12.4.2005
Где: г. Рязань

Репутация: 2
Всего: 13



Доброго времени суток!

Сложилось так, что js (всячиские периодические updater'ы) стало слишком много. Без них никак. Если открытых закладок много - начинает подвисать. Вот появилась мысль, можно ли как то поотключать их на неактивной закладки в браузере. Что то не гуглится толком ничего.

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

Не знаете, есть такое?


--------------------
 
PM MAIL WWW ICQ MSN   Вверх
Arantir
Дата 4.12.2012, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Рыбак без удочки
**


Профиль
Группа: Участник
Сообщений: 960
Регистрация: 18.11.2012

Репутация: 14
Всего: 55



Код

$(window).focus( function()
{
    alert('Вы только что переключились на эту вкладку!');
});
$(window).blur( function()
{
    alert('Вы ушли с этой вкладки!');
});


Можно и без JQuery, то много надо для кроссбраузерности кода строчить. В JQ все в одной функции уже инкапсулировано.

p.s.: Важно! Вызов alert'a тоже приводит к потере фокуса объекта window. Используйте focurs/blur аккуратно вместе с alert. Особенно не рекомендую пробовать мой пример в исходном виде =)
Если alert на сайте нет - все ОК.

Это сообщение отредактировал(а) Arantir - 4.12.2012, 19:15


--------------------
interface Жопа {
    // ATTENTION: has to be implemented by every class of the project for proper project work
}
PM   Вверх
DEER
Дата 4.12.2012, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 749
Регистрация: 12.4.2005
Где: г. Рязань

Репутация: 2
Всего: 13



у меня prototype, но такие события так есть, как то не подумал. Спасибо! Попробую

Добавлено через 9 минут и 17 секунд
Не то немного. При переключении "закладок" focus не сработает пока по контенту не нажмешь, клики по заголовкам закладок игнорируются. :(


--------------------
 
PM MAIL WWW ICQ MSN   Вверх
skyboy
Дата 5.12.2012, 00:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 10
Всего: 260



PageVisibility API@HTML 5 позволяет.
но надо чтоб скрипт изначально под это был заточен. 
настроек/плагинов браузерных подобных в глаза не слышал.
PM MAIL   Вверх
Arantir
Дата 5.12.2012, 01:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Рыбак без удочки
**


Профиль
Группа: Участник
Сообщений: 960
Регистрация: 18.11.2012

Репутация: 14
Всего: 55



DEER, а в FF focus срабатывает как раз при клике на вкладку.

Практика многих сайтов - делать таймаут относительно движения мыши/скроллинга. Например, в gmail в чате статус с "отошел" на "в сети" меняется после движения курсора на странице. А обратно на "отошел" меняется, соответственно, через Х секунд бездействия.


--------------------
interface Жопа {
    // ATTENTION: has to be implemented by every class of the project for proper project work
}
PM   Вверх
DEER
Дата 5.12.2012, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 749
Регистрация: 12.4.2005
Где: г. Рязань

Репутация: 2
Всего: 13



skyboy, спасибо, похоже как раз это, надо поэкспериментировать будет.

Arantir, такой подход немного не то, если я открою страничку, где то в планшете и положу его рядом, то страница то открыта и, например, уведомление должно прийти мне, а так получится, что страница неактивна и типа не должно прийти. Но все равно спасибо!


--------------------
 
PM MAIL WWW ICQ MSN   Вверх
Aliance
Дата 5.12.2012, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



HTML5 API конечно крутое, но пока на практике большие проекты выбирают этот путь определения IDLE

Цитата(Arantir @  5.12.2012,  02:42 Найти цитируемый пост)
Практика многих сайтов - делать таймаут относительно движения мыши/скроллинга. Например, в gmail в чате статус с "отошел" на "в сети" меняется после движения курсора на странице. А обратно на "отошел" меняется, соответственно, через Х секунд бездействия. 


PM MAIL WWW ICQ Skype   Вверх
DEER
Дата 5.12.2012, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 749
Регистрация: 12.4.2005
Где: г. Рязань

Репутация: 2
Всего: 13



Просто надо не бездействие ловить, а переклучение табов


--------------------
 
PM MAIL WWW ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0497 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.