Событие, когда веб-страница фокусируется - PullRequest
16 голосов
/ 10 января 2011

Google Reader имеет приятную функцию, которая при переключении на веб-страницу с другой веб-страницы (с указанием фокуса страницы) отображает обновления, которые были накоплены, когда страница была не сфокусированной. Быстрый вопрос № 1 : Как они это делают?

Я полагаю, что они могут быть привязаны к событиям перемещения мыши + событиям клавиатуры, поскольку я не знаю ни одного события из коробки, которое дает вам такую ​​возможность.

Поиск в Google - это кошмар (фокус, вкладка, веб-страница, пользователь).

Быстрый вопрос № 2 : Есть ли какой-нибудь пакет, который дает мне эту способность?

Я помещаю тег jQuery в качестве маяка для всех ниндзя веб-разработчиков, но мне не особо важна инфраструктура (пока ее Javascript)

Ответы [ 3 ]

21 голосов
/ 10 января 2011

Попробуйте использовать функции jQuery focus и blur:

$(window).focus(function() {
   console.log('welcome (back)');
});

$(window).blur(function() {
   console.log('bye bye');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Click in and out of this frame to test the focus and blur functions.
4 голосов
/ 10 января 2011

Я тестировал в FF и document.onfocus вызывается, когда я переключаюсь в это окно.

4 голосов
/ 10 января 2011

Используйте focusin (фокус) и focusout (размытие) на объекте document:

$(document).bind('focus', function() {
   console.log('welcome (back)');
}).bind('blur', function() {
   console.log('bye bye');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...