MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

L'interface EventSource est utilisée afin de recevoir des évènements envoyés par le serveur. Elle se connecte à un serveur via HTTP et reçoit des évènements au format text/event-stream avant de clôturer la connexion.

Constructeur

EventSource()
Cette méthode crée un nouvel objet EventSource à partir de l'objet USVString fourni.

Propriétés

Cette interface hérite également des propriétés fournies par l'objet parent : EventTarget.

EventSource.readyState Lecture seule
Un nombre qui représente l'état de la connexion. Les valeurs possibles sont CONNECTING (0) (connexion en cours), OPEN (1) (connexion ouverte), ou CLOSED (2) (connexion fermée).
EventSource.url Lecture seule
Un objet DOMString qui représente l'URL de la source.
EventSource.withCredentials Lecture seule
Un boolée qui indique si l'objete EventSource a été instancié avec les paramètres d'authentification CORS (true) ou non (false, la valeur par défaut).

Gestionnaires d'évènement

EventSource.onerror
Un objet EventHandler qui est appelé lorsqu'une erreur se produit et que l'évènement error est envoyé à l'objet EventSource.
EventSource.onmessage
Un objet EventHandler qui est appelé lorsqu'un évènement message est reçu (ce qui signifie qu'on a reçu un message de la source).
EventSource.onopen
Un objet EventHandler qui est appelé lorsqu'un évènement open est reçu, ce qui indique que la connexion vient d'être ouverte.

Méthodes

Cette interface hérite également de méthodes grâce à son objet parent : EventTarget.

EventSource.close()
Cette méthode ferme la connexion s'il y en a une en cours et change la valeur de l'attribut readyState en CLOSED. Si la connexion est déjà fermée, la méthode ne fait rien.

Exemples

var evtSource = new EventSource('sse.php');
var eventList = document.querySelector('ul');

evtSource.onmessage = function(e) {
  var newElement = document.createElement("li");

  newElement.textContent = "message: " + e.data;
  eventList.appendChild(newElement);
}

Note : Un exemple complet est disponible sur GitHub, voir la démonstration SSE avec PHP.

Spécifications

Spécification État Commentaires
WHATWG HTML Living Standard
La définition de 'EventSource' dans cette spécification.
Standard évolutif  

Compatibilité des navigateurs

Fonctionnalité Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Support simple 6 Pas de support 6.0 (6.0) Pas de support (Oui) 5
Disponible dans les workers dédiés et partagés[1] (Oui) Pas de support 53.0 (53.0) Pas de support (Oui) (Oui)
Fonctionnalité Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Support simple 4.4 45 Pas de support 12 4.1
Disponible dans les workers dédiés et partagés[1] (Oui) 53.0 (53.0) Pas de support (Oui) (Oui)

[1] Pas encore disponible pour les service workers.

Voir aussi

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : SphinxKnight, Nothus
 Dernière mise à jour par : SphinxKnight,