Пользователь открыл вкладку (JavaScript)

Чтобы узнать открыл ли пользователь вкладку, необходимо использовать событие onfocus у объекта window. Повесить обработчик на это событие, можно двумя способами: window.onfocus = someFunction; или через window.addEventListener('focus', someFunction);

window.onfocus

Ниже пример указания события, через присваивание некоей функции свойству onfocus, объекта window.

var counter = 0; window.onfocus = function(event) { counter++; console.log('Пользователь зашел на вкладку: ' + counter); };

В результате, при переключении на вкладку, в лог консоли браузера будет выведено сообщение: "Пользователь зашел на вкладку: X".

window.addEventListener focus

Ниже добавление обработчика события focus, при помощи метода window.addEventListener().

var focusCounter = 0; window.addEventListener('focus', function() { focusCounter++; if (focusCounter > 1) { focusCounter = 0; return; } alert('We`ve been focused on this page!'); }, false);

Небольшое пояснение. Принцип работы тот же, но в обработчике вызывается метод alert(), соответственно будет показан алерт, и если закрыть его нажатием мышкой на кнопку ОК или на крестик, фокус у окна потеряется и затем снова появится и будет вызван обработчик события и алерт зациклится. Для этого и стоит счётчик проверки.

Категории

ПрограммированиеJavaScriptСобытия

Читайте также

Комментарии