The EventSource interface is used to receive server-sent events. It connects to a server over HTTP and receives events in text/event-stream format without closing the connection.
Constructor
EventSource()- Creates a new
EventSourcefrom the givenUSVString.
Properties
This interface also inherits properties from its parent, EventTarget.
EventSource.readyStateRead only- A number representing the state of the connection. Possible values are
CONNECTING(0),OPEN(1), orCLOSED(2). EventSource.urlRead only- A
DOMStringrepresenting the URL of the source. EventSource.withCredentialsRead only- A
Booleanindicating whether theEventSourceobject was instantiated with CORS credentials set (true), or not (false, the default).
Event handlers
EventSource.onerror- Is an
EventHandlercalled when an error occurs and theerrorevent is dispatched on anEventSourceobject. EventSource.onmessage- Is an
EventHandlercalled when amessageevent is received, that is when a message is coming from the source. EventSource.onopen- Is an
EventHandlercalled when anopenevent is received, that is when the connection was just opened.
Methods
This interface also inherits methods from its parent, EventTarget.
EventSource.close()- Closes the connection, if any, and sets the
readyStateattribute toCLOSED. If the connection is already closed, the method does nothing.
Examples
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: You can find a full example on GitHub — see Simple SSE demo using PHP.
Specifications
| Specification | Status | Comment |
|---|---|---|
| WHATWG HTML Living Standard The definition of 'EventSource' in that specification. |
Living Standard |
Browser compatibility
| Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| EventSource support | 6 | No support | 6.0 (6.0) | No support | (Yes) | 5 |
| Available in shared and dedicated workers[1] | (Yes) | No support | 53.0 (53.0) | No support | (Yes) | (Yes) |
| Feature | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|
| EventSource support | 4.4 | 45 | No support | 12 | 4.1 |
| Available in shared and dedicated workers[1] | (Yes) | 53.0 (53.0) | No support | (Yes) | (Yes) |
[1] But not service workers as yet.
See also
Document Tags and Contributors
Tags:
Contributors to this page:
chrisdavidmills,
teoli,
fscholz,
sequoia,
Jeremie,
Pettay,
coreyauger,
SaschaNaz,
Kornel,
kscarfone,
iamanupmenon,
Yaffle,
Psz,
Sheppy
Last updated by:
chrisdavidmills,