Есть Page Visibility API, который отлично работает в большинстве случаев, но не обрабатывает все возможные случаи неактивности вкладки браузера. Page Visibility API отправляет событие visibilitychange, чтобы listeners знали, что состояние видимости страницы изменилось. Он не запускает событие в некоторых случаях, если окно или соответствующая вкладка браузера скрыты из виду.
Зачем это на vc?
А можно оторвать руки за скриншоты кода? Ну и плюс да, зачем это тут?
Почему не на Хабр?