Таймер обратного отсчета Javascript, который останавливается, когда окно не в фокусе
Хорошо яУ меня проблемы с этим, яЯ веб-разработчик php / C #, и у меня нет опыта или знаний в Javascript, я должен сделать только одну вещь, которая нуждается в Javascript:
Когда загружается определенная страница, запускается счетчик. Клиент должен оставаться на этой странице в течение 20 секунд. после, я хочу выполнить PHP-код.
Итак, передо мной стоят два вопроса: во-первых, как остановить счетчик, если клиент покидает страницу (то есть страница не в фокусе).
2) Как я могу выполнить php в javascript? Или вызовите функцию php из Javascript.
Код, который у меня пока есть, такой:
COUNTER_START = 20
function tick () {
if (document.getElementById ('counter').firstChild.data > 0) {
document.getElementById ('counter').firstChild.data = document.getElementById ('counter').firstChild.data - 1
setTimeout ('tick()', 1000)
} else {
document.getElementById ('counter').firstChild.data = 'done'
}
}
if (document.getElementById) onload = function () {
var t = document.createTextNode (COUNTER_START)
var p = document.createElement ('P')
p.appendChild (t)
p.setAttribute ('id', 'counter')
var body = document.getElementsByTagName ('BODY')[0]
var firstChild = body.getElementsByTagName ('*')[0]
body.insertBefore (p, firstChild)
tick()
}
и я также хочу, чтобы таймер начал тикать, когда клиент возвращается на страницу
Большое спасибо за вашу помощь заранее