Проверка активности страницы/вкладки

Page Visibility API позволяет нам определить, смотрит ли сейчас пользователь на эту вкладку или находится на другой. Зная это, мы можем управлять ajax запросами или, скажем, анимацией.

Для проверки переключитесь на другую вкладку – заголовок этой вкладки изменится. Переключитесь обратно – он станет прежним.

Исходный код этого примера:
<script>
var hidden, state, visibilityChange;
if (typeof document.hidden !== "undefined") {
    hidden = "hidden";
    visibilityChange = "visibilitychange";
    state = "visibilityState";
} else if (typeof document.mozHidden !== "undefined") {
    hidden = "mozHidden";
    visibilityChange = "mozvisibilitychange";
    state = "mozVisibilityState";
} else if (typeof document.msHidden !== "undefined") {
    hidden = "msHidden";
    visibilityChange = "msvisibilitychange";
    state = "msVisibilityState";
} else if (typeof document.webkitHidden !== "undefined") {
    hidden = "webkitHidden";
    visibilityChange = "webkitvisibilitychange";
    state = "webkitVisibilityState";
}

document.addEventListener(visibilityChange, function() {
    document.title = document[state];
}, false);

document.title = document[state];
</script>

Если у Вас стоит задача проверять перед обращением на сервер активность текущей вкладки, например, для обновления счетчика, то Вам поможет эта универсальная функция:

function pageIsVisible() {
    return (document.visibilityState||
	document.mozVisibilityState||
	document.msVisibilityState||
	document.webkitVisibilityState)
	=='visible';
}

.