EventSource

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() (en-US)
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 (en-US) 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 (en-US) Lecture seule
Un objet DOMString qui représente l'URL de la source.
EventSource.withCredentials (en-US) Lecture seule
Un booléen qui indique si l'objet 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 (en-US)
Un objet event handler qui est appelé lorsqu'une erreur se produit et que l'évènement error (en-US) est envoyé à l'objet EventSource.
EventSource.onmessage (en-US)
Un objet event handler 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 event handler 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
HTML Living Standard
La définition de 'EventSource' dans cette spécification.
Standard évolutif

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi