Javascript-Countdown-Timer, der stoppt, wenn das Fenster nicht im Fokus steht
Ok, ich habe Probleme, das zu lösen, ich bin ein PHP / C # Webentwickler und habe keine Erfahrung oder Kenntnisse in Javascript. Ich muss nur das eine tun, was Javascript benötigt:
Wenn eine bestimmte Seite geladen wird, startet ein Zähler. Der Client muss 20 Sekunden auf dieser Seite bleiben. Danach möchte ich PHP-Code ausführen.
Es gibt also zwei Probleme, die mich betreffen: Wie stoppe ich den Zähler, wenn der Client die Seite verlässt (was bedeutet, dass die Seite nicht im Fokus ist).
2) Wie kann ich PHP in Javascript ausführen? , oder rufen Sie eine PHP-Funktion von Javascript.
Der Code, den ich bisher habe, ist folgender:
<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>
und ich möchte auch, dass der Timer beginnt zu ticken, wenn der Client wieder auf der Seite ist
Vielen Dank für Ihre Hilfe im Voraus