javascript countdown zählen wenn fenster im vordergrund

isaack

Mitglied
Hallo,
da ich selber nicht wirklich was verstehe von Javascript und AJAX habe ich gehofft, dass mir hier jemand weiter helfen kann.

ich bin auf der suche nach einem countdown, der nur zählt, wenn der tab oder fenster im focus steht.
sobald das countdown dann runter gelaufen ist, soll eine php funktion aufgerufen werden.

kann mir da jemand weiter helfen?

danke schonmal im vorraus.

EDIT:

habe hier etwas im netz gefunden, was ich ein wenig angepasst habe. also mit viel testen und rum spielen.
jetzt halt die frage. wie kann ich nach ablauf des timers eine php funktion aufrufen?

Hier mal der Code:
Code:
//<![CDATA[
   var countdown_timer = 1200;
   var window_active = true;
   var countdown_interval = null;
   window.onblur = function() {
       window_active=false;
   }
   window.onfocus = function() {
       window_active=true;
   }
   countdown = function() {
       if (!window_active)
       {
           return;
       }
       document.getElementById('counter').innerHTML = countdown_timer--;
   }
   window.onload = function() {
       countdown_interval = setInterval(countdown, 1000);
   }
   //]]>
 
Zuletzt bearbeitet:
JavaScript kann an sich nicht direkt eine PHP Funktion ausführen.
Es gibt dafür ein paar "Workarounds".

Eine Möglichkeit wäre nach Ablauf der die Location des Windows zu ändern, sodass ein Skript aufgerufen wird, indem die Funktion aufgerufen wird.
Eine weitere Möglichkeit ist einen AjaxCall zu starten, welches ein Skript aufruft, indem die Funktion aufgerufen wird.

Die einzige Variante mittels JavaScript fast direkt eine PHP Funktion aufzurufen ist durch das Framework xAjax.
 
Zurück