EventSource et Chrome...

Invité
Invité n'ayant pas de compte PHPfrance

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.

ViPHP
ViPHP | 1996 Messages

18 oct. 2012, 21:09

Comme dans l'exemple, as tu testé si tu pouvais l'utiliser avec un typeOf ?

if(typeof(EventSource)!=="undefined")
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Petit nouveau ! | 1 Messages

28 oct. 2012, 10:12

Bonjour,

Pour ma part, après des recherches j'ai essayé de modifier le fichier PHP avec deux sauts de ligne :
echo 'data: '.time().PHP_EOL.PHP_EOL;

Et cela fonctionne maintenant