EventSource
Baseline
Widely available
*
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis janvier 2020.
* Certaines parties de cette fonctionnalité peuvent bénéficier de prise en charge variables.
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'objetUSVStringfourni.
Propriétés
Cette interface hérite également des propriétés fournies par l'objet parent : EventTarget.
EventSource.readyStateLecture 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.urlLecture seule-
Un objet
DOMStringqui représente l'URL de la source. EventSource.withCredentialsLecture 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-
Un gestionnaire d'évènement qui est appelé lorsqu'une erreur se produit et que l'évènement
errorest envoyé à l'objetEventSource. EventSource.onmessage-
Un gestionnaire d'évènement qui est appelé lorsqu'un évènement
messageest 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
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> # the-eventsource-interface> |
Compatibilité des navigateurs
Chargement…