EventSource
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
La interfaz EventSource
se utiliza para recibir eventos server-side. Se realiza la conexión a un servidor sobre HTTP y se reciben eventos en formato text/event-stream
sin tener que cerrar la conexión.
Constructor
EventSource()
-
Crea un nuevo
EventSource
a partiendo de un valorUSVString
.
Propiedades
Esta interfaz también heredará propiedades de su antecesor, EventTarget
.
EventSource.readyState
Read only-
Un número representando el estado de la conexión. Los valores posibles son CONECTANDO (
0
), ABIERTO (1
), o CERRADO (2
). EventSource.url
Read only-
Un valor
DOMString
representando la URL de la fuente. EventSource.withCredentials
Read only-
Un valor
Boolean
indicando si el objectoEventSource
ha sido instanciado con credeciales CORS disponibles (true) o no (false, valor por defecto).
Manejadores de Eventos
EventSource.onerror
-
En un
event handler
que se invoca cuando ocurre un error y se envía el eventoerror
a través del objetoEventSource
. EventSource.onmessage
-
Es un
event handler
que se invoca cuando se recibe un eventomessage
, que indica que se ha enviado un mensaje desde la fuente. EventSource.onopen
-
Es un
event handler
que se invoca cuando se recibe un eventoopen
, que sucede en el momento que la conexión se abre.
Métodos
Esta interfaz también heredará métodos de su antecesor, EventTarget
.
EventSource.close()
-
Cierra la conexión, si ésta existe, y asigna el valor CLOSED al atributo
readyState
. Si la conexión ya estaba cerrada, este método no hace nada.
Ejemplos
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);
};
Nota: Está disponible un ejemplo completo en GitHub — ver Simple SSE demo using PHP.
Especificaciones
Specification |
---|
HTML Standard # the-eventsource-interface |
Compatibilidad con navegadores
BCD tables only load in the browser