Obtenir l'heure "absolue" [JS]
Fermé
Mysterious_fea
Messages postés
401
Date d'inscription
vendredi 29 juin 2007
Statut
Membre
Dernière intervention
23 mars 2013
-
2 avril 2008 à 19:02
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 - 19 avril 2008 à 22:40
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 - 19 avril 2008 à 22:40
A voir également:
- Obtenir l'heure "absolue" [JS]
- 1go internet = combien d'heure ✓ - Forum Réseaux sociaux
- Convertir heure en centième excel ✓ - Forum Excel
- Obtenir windows 10 gratuitement - Guide
- Wetransfer obtenir un lien - Guide
- 30 go internet équivalent en heure - Forum Mobile
7 réponses
Mysterious_fea
Messages postés
401
Date d'inscription
vendredi 29 juin 2007
Statut
Membre
Dernière intervention
23 mars 2013
35
7 avril 2008 à 19:29
7 avril 2008 à 19:29
Up please !!
Mysterious_fea
Messages postés
401
Date d'inscription
vendredi 29 juin 2007
Statut
Membre
Dernière intervention
23 mars 2013
35
16 avril 2008 à 19:39
16 avril 2008 à 19:39
SVP!
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
920
16 avril 2008 à 19:42
16 avril 2008 à 19:42
salut,
dans ce cas, il faut demander l'info à un serveur donc passer par XMLHTTPRequest (Ajax).
et répondre avec un script PHP.
dans ce cas, il faut demander l'info à un serveur donc passer par XMLHTTPRequest (Ajax).
et répondre avec un script PHP.
Mysterious_fea
Messages postés
401
Date d'inscription
vendredi 29 juin 2007
Statut
Membre
Dernière intervention
23 mars 2013
35
16 avril 2008 à 23:06
16 avril 2008 à 23:06
Tu aurais une idée de code, enfin dans les grandes lignes, STP ?
Merci
Merci
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
920
>
Mysterious_fea
Messages postés
401
Date d'inscription
vendredi 29 juin 2007
Statut
Membre
Dernière intervention
23 mars 2013
16 avril 2008 à 23:15
16 avril 2008 à 23:15
regarde là, y en a pour tous les niveaux.
après je ne sais pas si il vaut mieux interroger directement un serveur qui donne l'heure (comme ceux qui permettent de synchroniser les PC, ça doit bien exister mais je n'en connais pas) ou si tu interroges direct le serveur qui héberge ton site avec PHP.
je suppose que la seconde méthode est beaucoup plus facile.
après je ne sais pas si il vaut mieux interroger directement un serveur qui donne l'heure (comme ceux qui permettent de synchroniser les PC, ça doit bien exister mais je n'en connais pas) ou si tu interroges direct le serveur qui héberge ton site avec PHP.
je suppose que la seconde méthode est beaucoup plus facile.
Mysterious_fea
Messages postés
401
Date d'inscription
vendredi 29 juin 2007
Statut
Membre
Dernière intervention
23 mars 2013
35
>
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
17 avril 2008 à 22:26
17 avril 2008 à 22:26
Je n'ai pas trouvé mon bonheur dans ces tutos, car cela parle surtout du XML.
Pour ce qui est du PHP, je vais utiliser :
Je souhaiterais donc appeler ce fichier PHP avec du XMLHTTPRequest... Comment le faire ?
Merci
Pour ce qui est du PHP, je vais utiliser :
<?php $heure = date("H"); $min = date("i"); echo $heure.'h'.$min; ?>
Je souhaiterais donc appeler ce fichier PHP avec du XMLHTTPRequest... Comment le faire ?
Merci
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
920
18 avril 2008 à 20:40
18 avril 2008 à 20:40
salut,
car cela parle surtout du XML
et alors ?! XHTML est du XML…
et de toute façon, 'httpRequest.responseText' contient la réponse du serveur au format texte, tu peux en faire ce que tu veux.
admettons que tu nommes ton script 'request.php'
il faut lui ajouter l'envoi du 'Content Type' en premier :
en JS tu dois avoir un code du style :
il te reste juste à appeler la fonction JS depuis ton document HTML et d'y mettre un containeur :
car cela parle surtout du XML
et alors ?! XHTML est du XML…
et de toute façon, 'httpRequest.responseText' contient la réponse du serveur au format texte, tu peux en faire ce que tu veux.
admettons que tu nommes ton script 'request.php'
il faut lui ajouter l'envoi du 'Content Type' en premier :
header('Content-Type: text/html; charset=ISO-8859-1');
en JS tu dois avoir un code du style :
function getXHR()
{
var xhr=null;
if( window.XMLHttpRequest )
{
xhr = new XMLHttpRequest();
}
else if( window.ActiveXObject )
{
try
{
xhr = new ActiveXObject( "Msxml2.XMLHTTP" );
}
catch( e )
{
try
{
xhr = new ActiveXObject( "Microsoft.XMLHTTP" );
}
catch( e1 )
{
xhr = null;
}
}
}
else
{
alert( "Votre navigateur ne supporte pas les objets XMLHTTPRequest." );
}
return xhr;
}
function updateTime( httpRequest )
{
if ( httpRequest.readyState == 4 )
{
if ( httpRequest.status == 200 )
{
document.getElementById( "container" ).innerHTML = httpRequest.responseText;
}
else
{
document.getElementById( "container" ).innerHTML = 'Un problème est survenu avec la requête.';
}
}
}
function displayTime()
{
xhr = getXHR();
if( xhr )
{
xhr.open( 'GET', 'http://www.tonsite/request.php', true );
xhr.onreadystatechange = function() { updateTime( xhr ); };
xhr.send( '' )
}
}
il te reste juste à appeler la fonction JS depuis ton document HTML et d'y mettre un containeur :
<body onload="displayTime();"> <p id="container"></p> </body>
Mysterious_fea
Messages postés
401
Date d'inscription
vendredi 29 juin 2007
Statut
Membre
Dernière intervention
23 mars 2013
35
18 avril 2008 à 23:39
18 avril 2008 à 23:39
Merci beaucoup, je vais essayer ça !
A + !
A + !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Mysterious_fea
Messages postés
401
Date d'inscription
vendredi 29 juin 2007
Statut
Membre
Dernière intervention
23 mars 2013
35
19 avril 2008 à 19:51
19 avril 2008 à 19:51
Bon il intègre bien le php mais il merde avec le header, il me dit
heure.php
heure.js
index.php
Merci
Cannot modify header information - headers already sent by. Donc quand j'enlève le header ça me l'inclue mais ça se met pas à jour en temps réel, il faut rafraîchir. Voilà mes codes :
heure.php
<?php header('Content-Type: text/html; charset=ISO-8859-1'); $heure = date("H"); $min = date("i"); echo $heure.'h'.$min; ?>
heure.js
function getXHR() { var xhr=null; if( window.XMLHttpRequest ) { xhr = new XMLHttpRequest(); } else if( window.ActiveXObject ) { try { xhr = new ActiveXObject( "Msxml2.XMLHTTP" ); } catch( e ) { try { xhr = new ActiveXObject( "Microsoft.XMLHTTP" ); } catch( e1 ) { xhr = null; } } } else { alert( "Votre navigateur ne supporte pas les objets XMLHTTPRequest." ); } return xhr; } function updateTime( httpRequest ) { if ( httpRequest.readyState == 4 ) { if ( httpRequest.status == 200 ) { document.getElementById( "heure" ).innerHTML = httpRequest.responseText; } else { document.getElementById( "heure" ).innerHTML = 'Un problème est survenu avec la requête.'; } } } function displayTime() { xhr = getXHR(); if( xhr ) { xhr.open( 'GET', 'http://www.eficoach.com/essai/heure.php', true ); xhr.onreadystatechange = function() { updateTime( xhr ); }; xhr.send( '' ) } }
index.php
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <title>Exemple 1</title> <script type="text/javascript" src="heure.js"></script> </head> <body onload="displayTime();"> <p id="heure"></p> </body> </html>
Merci
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
920
19 avril 2008 à 20:16
19 avril 2008 à 20:16
salut,
ça se met pas à jour en temps réel, il faut rafraîchir
du coup ça perd tout son intérêt !!!
mais tu veux simplement afficher l'heure une fois ou l'actualiser en temps réel ?
comme tu parlais de JS au départ je pensais que tu voulais faire une horloge sur ta page avec l'heure serveur.
si tu veux juste horodater la page, pas besoin d'Ajax.
sinon, le 'header' doit être envoyé avant quoi que ce soit d'autre, il ne doit même pas y avoir un espace avant l'ouverture de la balise PHP.
ça se met pas à jour en temps réel, il faut rafraîchir
du coup ça perd tout son intérêt !!!
mais tu veux simplement afficher l'heure une fois ou l'actualiser en temps réel ?
comme tu parlais de JS au départ je pensais que tu voulais faire une horloge sur ta page avec l'heure serveur.
si tu veux juste horodater la page, pas besoin d'Ajax.
sinon, le 'header' doit être envoyé avant quoi que ce soit d'autre, il ne doit même pas y avoir un espace avant l'ouverture de la balise PHP.
Mysterious_fea
Messages postés
401
Date d'inscription
vendredi 29 juin 2007
Statut
Membre
Dernière intervention
23 mars 2013
35
19 avril 2008 à 22:28
19 avril 2008 à 22:28
Non non en effet je souhaiterais une mise à jour en temps réel, sinon j'aurais simplement fait appel au PHP.
J'ai enlevé l'espace et plus d'erreur PHP mais toujours pas de mise à jour en temps réel. Je ne vois pas où tu as réglé le temps entre 2 rafraichissement sur le js...
J'ai enlevé l'espace et plus d'erreur PHP mais toujours pas de mise à jour en temps réel. Je ne vois pas où tu as réglé le temps entre 2 rafraichissement sur le js...
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
920
>
Mysterious_fea
Messages postés
401
Date d'inscription
vendredi 29 juin 2007
Statut
Membre
Dernière intervention
23 mars 2013
19 avril 2008 à 22:36
19 avril 2008 à 22:36
ah !!!
bon on est bien d'accord !!!
mais je n'avais pas mis de temps de rafraichissement auto mais seulement le premier appel !
je pensais que ça tu l'avais déjà !
suffit de l'ajouter à la fonction JS, pour qu'elle se rappelle elle-même.
tu lances une première fois dans le 'onload' et après elle débrouille.
je regarde pour le code et te tiens au jus !
bon on est bien d'accord !!!
mais je n'avais pas mis de temps de rafraichissement auto mais seulement le premier appel !
je pensais que ça tu l'avais déjà !
suffit de l'ajouter à la fonction JS, pour qu'elle se rappelle elle-même.
tu lances une première fois dans le 'onload' et après elle débrouille.
je regarde pour le code et te tiens au jus !
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
920
19 avril 2008 à 22:40
19 avril 2008 à 22:40
mais j'ai peur que les envois se chevauchent en cas de latence avec la réponse.
function displayTime() { xhr = getXHR(); if( xhr ) { xhr.open( 'GET', 'http://www.eficoach.com/essai/heure.php', true ); xhr.onreadystatechange = function() { updateTime( xhr ); }; xhr.send( '' ) setTimeout(displayTime(),1000); } }