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'objetUSVStringfourni.
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), ouCLOSED(2) (connexion fermée). EventSource.url(en-US) Lecture seule-
Un objet
DOMStringqui représente l'URL de la source. EventSource.withCredentials(en-US) Lecture seule-
Un booléen qui indique si l'objet
EventSourcea é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 gestionnaire d'évènement qui est appelé lorsqu'une erreur se produit et que l'évènement
error(en-US) est envoyé à l'objetEventSource. EventSource.onmessage(en-US)-
Un gestionnaire d'évènement qui est appelé lorsqu'un évènement
message(en-US) est reçu (ce qui signifie qu'on a reçu un message de la source). EventSource.onopen-
Un gestionnaire d'évènement qui est appelé lorsqu'un évènement
openest 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
readyStateenCLOSED. Si la connexion est déjà fermée, la méthode ne fait rien.
Exemples
js
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
| Specification |
|---|
| HTML Standard # the-eventsource-interface |
Compatibilité des navigateurs
BCD tables only load in the browser