Temporizador de cuenta regresiva de Javascript que se detiene cuando la ventana no está enfocada
Ok, estoy teniendo problemas para resolver esto, soy un desarrollador web php / C #, y no tengo experiencia ni conocimientos de Javascript, solo tengo que hacer una cosa que necesita Javascript:
Cuando se carga una determinada página, se inicia un contador. El cliente debe permanecer en esta página durante 20 segundos. después, quiero ejecutar el código php.
Entonces, hay 2 problemas que me conciernen, primero: cómo detengo el contador, si el cliente abandona la página (lo que significa que la página no está enfocada).
2) ¿Cómo puedo ejecutar php en javascript? , o llamar a una función php desde Javascript.
El código que tengo hasta ahora es este:
<html>
<head>
</head>
<body>
<div id='timer'>
<script type="text/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()
}
</script>
</div>
</body>
</html>
y también quiero que el temporizador comience a marcar cuando el cliente regrese a la página
Muchas gracias por su ayuda por adelantado.