par
Invité » 11 oct. 2012, 17:56
Bonjour à tous,
j'essaye de tester l'envoi de messages d'un serveur vers javascript/html5 avec l'objet eventSource, sur mon apache en local.
ça marche très bien sous firefox, mais chrome ne réagit pas au code et n'affiche non plus aucune erreur.
Voici mon document html/javascript:
Code : Tout sélectionner
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Document sans nom</title>
</head>
<body>
<div id="affichage"></div>
<script>
var sse = new EventSource("source-serveur.php");
// Gestionnaire d’événement
sse.onmessage = function(evt) {
var tstamp = evt.data;
var date = new Date(tstamp*1000);
var cible = document.getElementById('affichage');
cible.innerHTML = date.getHours() + ' : ' + date.getMinutes() + ' : ' + date.getSeconds();
};
</script>
</body>
</html>
et mon code serveur en php
<?php
header('Content-Type: text/event-stream');
echo 'data: '.time().PHP_EOL;
?>
J'ai tenté des variantes avec flush() et ob_flush(), rien n'y fait sous chrome.
Ce qui est étrange, c'est que j'ai testé l'exemple 3schools suivant:
http://www.w3schools.com/html/tryit.asp ... yhtml5_sse
ça marche bien sous chrome, mais dès que je passe le code d'exemple sur mon localhost, ça ne marche plus sous chrome.
j'ai tenté de mettre mes fichiers sur un serveur en ligne mais chrome ne veut toujours pas réagir. Dans tous ces tests, firefox a systématiquement fonctionné.
Voyez-vous ce que j'aurais pu oublier?
En vous remerciant par avance pour vos réponses.