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'objetUSVString
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), ouCLOSED
(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é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
- Un objet
EventHandler
qui est appelé lorsqu'une erreur se produit et que l'évènementerror
est envoyé à l'objetEventSource
. EventSource.onmessage
- Un objet
EventHandler
qui est appelé lorsqu'un évènementmessage
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ènementopen
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
enCLOSED
. 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
Nous convertissons les données de compatibilité dans un format JSON.
Ce tableau de compatibilité utilise encore l'ancien format
car nous n'avons pas encore converti les données qu'il contient.
Vous pouvez nous aider en contribuant !
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) |