Javascript schedulen


In verband met het komende nieuwjaar ben ik eens gaan zoeken naar een manier om automatisch op een bepaalde datum en tijd een script uit te voeren. Het gaat om een script wat geimplementeerd moet worden in de indexpagina van phpBB.

Allereerst natuurlijk het aanroepen van het script. Hiervoor heb ik in het bestand index_body.tpl de volgende code geplaatst:


Nu wordt deze code altijd aangeroepen. In het script zal daarom een controle moeten worden toegevoegd. Daaarvoor dient de volgende code:

Wat doet dit script? Allereerst wordt de huidige datum opgevraagd. Vervolgens wordt uit die datum het jaar, de maand, de dag, het uur en de minuten gehaald.

Daarna wordt gecontroleerd of deze datum gelijk is aan de datum en tijd waarop wij het script willen starten. Zoals je ziet wordt het veld year op twee manieren gecontroleerd. Dat komt omdat browsers het jaar op verschillende manieren berekenen. Netscape browsers berekenen het jaar vanaf 1900, IE toont de normale waarde. De maanden worden gerekenend van 0 t/m 11 (januari is dus maand 0).

Om dus op 1-1-2006 het script te laten starten is de volgende validatie voldoende:

if ((year == "106" || year=="2006") && month == "0" && day == "1" && hour < "14")

Deze regel zorgt ervoor dat op 1-1-2006 vanaf middernacht t/m 14:00 het script wordt uitgevoerd.

Nog mooier is natuurlijk om voor het laden van het script te controleren of het geladen moet worden, maar dat is iets om later uit te zoeken.


Leave a Reply

Your email address will not be published. Required fields are marked *