Как я могу проверить, активна ли вкладка браузера и видна ли она? - PullRequest
0 голосов
/ 03 августа 2020

Я делаю сайт с конкурсами и хочу проверить, активна ли и видна ли вкладка пользователя в браузере. Например, если человек скрывает окно браузера или переключает вкладку с моим сайтом, вкладка не будет активной, и мне нужно это знать. Могу ли я сделать это или что-то подобное?

Я знаю про Firefox API видимости, но он проверяет только видимость. Итак, если на экране два windows и одно из них - окно браузера с веб-сайтом, веб-сайт виден. Но другое окно может быть активным, и мой веб-сайт будет виден, но не активен. Это не то, чего я хочу

Ответы [ 2 ]

0 голосов
/ 03 августа 2020

Хорошо, похоже, мне нужно использовать функцию document.hasFocus() ( docs ) js. Он возвращает false, если вкладка не отображается или активно другое окно, иначе возвращается true

0 голосов
/ 03 августа 2020

попробуйте:

document.addEventListener("visibilitychange", function() {
  console.log( document.hidden );  
});

window.addEventListener('focus', function() {
 console.log("window is active!" );
});

window.addEventListener('blur', function() {
  console.warn("window is not active!" );
});
...