Heure du serveur en temps réel

Contenu du snippet

Je sais, il y a déjà un script d'horloge en "temps réel" sur le réseau, mais je le trouvait en peu lourd, et je trouvais que si la page à charger était très grosse, l'horloge serait en retard...
J'ai donc codé ça en quelques minutes. C'est un script, qui permet d'afficher une horloge en temps réél, il fonctionne avec un iframe, donc le retard n'est du plus qu'a la vitesse de connexion.

Pour l'utiliser, mettez un <?require("realtime.php");?> dans votre page web, et ensuite, mettez dans realtime.php :

Source / Exemple :


<?if (empty($aff)) {
	?><span id="horlogespan" style="color: #000000; font-size: 9pt; font-family: times;"></span><iframe src="realtime.php?aff=1" noresize frameborder="0" framespacing="0" border="0" marginheight="0" marginwidth="0" scrolling="no" width="0" height="0" style="visibility: hidden;"></iframe><?
} else {
//Les quatres lignes php suivantes permettent de ne jamais mettre en cache la page.
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
?><html><head><title>Heure en temps réel</title><META NAME="robots" CONTENT="noindex, nofollow"></head><body><script language="Javascript">
<!--
var myDate=new Date();  //On créé un object qui permet de manipuler les dates
myDate.setTime(<?=time()*1000?>);  //On prend l'heure en cours sur le serveur, à partir de la fonction php time(), pour la mettre dans l'objet de manipulation des dates.  Le *1000 est tout simplement parce que en php, l'heure est donnée en secondes, alors que le javascript, en microsecondes
function ActualiseHeure() {
	myDate.setTime(myDate.getTime()+1000);   //On ajoute 1000 millisecondes à l'heure, soit 1 seconde.
	top.horlogespan.innerHTML=myDate.toLocaleString();	 //On met dans le span l'heure et la date qu'il est.
	setTimeout("ActualiseHeure()", 1000);   //On rééxécute cette fonctionne dans une seconde.
}
ActualiseHeure();  //On apelle la fonction une foix, puis après elle tournera toute seule, gràce au setTimeout.
//-->
</script></body></html><?}?>

Conclusion :


Attention : à la ligne "var myDate=new date();", mettez un D majuscule à "new Date();". Je ne sais pas pourquoi, mais il s'obstine à me mettre en minuscule...

Voilà, j'éspère avoir été clair.
Si vous avez des questions, allez y !!!

Ps: testé sur Internet Explorer 6. pour Netspace et autres, il faudra attendre les beta testeurs !!!
Ps2: j'ai mit un meta disant aux robots ne viennent pas sur cette page, comme ça l'horloge est pas référencée sur les moteurs de recherche !!!

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.