Temporizador de contagem regressiva de Javascript que para quando a janela não está em foco
Ok, estou tendo problemas para resolver isso, sou desenvolvedor web php / c #, e não tenho experiência ou conhecimento em Javascript, tenho que fazer exatamente isso que precisa de Javascript:
Quando uma determinada página é carregada, um contador é iniciado. O cliente deve permanecer nessa página por 20 segundos. depois, eu quero executar o código php.
Portanto, há duas questões a meu respeito: primeiro, como faço para parar o contador, se o cliente sair da página (o que significa que a página não está em foco).
2) Como posso executar o php em javascript? , ou ligue para uma função PHP a partir do Javascript.
O código que tenho até agora é 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>
e também quero que o temporizador comece a marcar quando o cliente voltar na página
Muito obrigado pela sua ajuda com antecedência