Heure du serveur en temps réel

Soyez le premier à donner votre avis sur cette source.

Snippet vu 12 403 fois - Téléchargée 28 fois

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

Ajouter un commentaire

Commentaires

cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008
-
Tant qu'à faire, mets un ; après l'instruction echo alors :)
cs_grandvizir
Messages postés
1237
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
10 -
En visitant d'autres codes sources, il est préférable d'écrire ceci :

myDate.setTime(<?php echo time()*1000 ?>);

Ca évitera des JS Error sur certaines machines dont la configuration PHP est plus restrictive, c'est-à-dire où <?= est interdit par exemple.
cs_grandvizir
Messages postés
1237
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
10 -
C'est du drôle de PHP ce cirque... C'est certes tout à fait ce qu'il me fallait, mais je propose une "correction" qui marche très bien sous EasyPHP 1.7 et surtout qui a le mérite d'être plus concise et plus claire.

<html>
<head>
<title>Temps réel</title>
</head>


<script language="Javascript">
var myDate=new Date();
myDate.setTime(<?=time()*1000?>);
function ActualiseHeure()
{
myDate.setTime(myDate.getTime()+1000);
top.horlogespan.innerHTML=myDate.toLocaleString();
setTimeout("ActualiseHeure()", 1000);
}
ActualiseHeure();
</script>

</html>

L'essentiel est visible...
cs_mister mo
Messages postés
1
Date d'inscription
jeudi 19 août 2004
Statut
Membre
Dernière intervention
27 août 2004
-
Bonjour,
Merci pour ton code, enfin quelqu'un qui n'en fait pas des tartines. Ca fait plaisir.
Bon je vais quand même participer au lancement des pierres c'est vrai que t'aurais pu aerer ton code mais bon j'ai corrige le d en D et puis c'est nickel.

hihi bon courage à bientôt
GuNnERZ77
Messages postés
3
Date d'inscription
dimanche 21 décembre 2003
Statut
Membre
Dernière intervention
20 janvier 2004
-
j'aimerai savoir comment faire pour affiché que l'heure sans la date merci :)

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.