Определить активацию вкладок / окон в JavaScript - PullRequest
7 голосов
/ 06 августа 2011

Кажется, что Google+ проверяет обновления уведомлений, когда я активирую вкладку в Firefox

Он будет показывать «0» каждый раз, когда я его активирую, но через несколько секунд после этого изменится на количество новых уведомлений.

Какой механизм позволяет подключиться к этому событию? Для этого есть конкретное событие DOM? Или они используют что-то вроде обработчика onmouseover и просто считают любой вид активности достаточным индикатором активации вкладок?

1 Ответ

5 голосов
/ 06 августа 2011

Просто предположение, потому что у меня не все соответствующие браузеры доступны для тестирования.

А как насчет использования события focus на window.Всякий раз, когда пользователь щелкает где-то, это вызывается, но также и при переключении вкладок.Чтобы различать действия пользователя на странице и переход пользователя на страницу, можно проверить, указывает ли событие explicitOriginalTarget на window.

window.onfocus=function(event){
    if(event.explicitOriginalTarget===window){
        console.log('switched from tab');
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...