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
EventSource
from the givenUSVString
.
Properties
This interface also inherits properties from its parent, EventTarget
.
EventSource.readyState
Read only- A number representing the state of the connection. Possible values are
CONNECTING
(0
),OPEN
(1
), orCLOSED
(2
). EventSource.url
Read only- A
DOMString
representing the URL of the source. EventSource.withCredentials
Read only- A
Boolean
indicating whether theEventSource
object was instantiated with CORS credentials set (true
), or not (false
, the default).
Event handlers
EventSource.onerror
- Is an
EventHandler
called when an error occurs and theerror
event is dispatched on anEventSource
object. EventSource.onmessage
- Is an
EventHandler
called when amessage
event is received, that is when a message is coming from the source. EventSource.onopen
- Is an
EventHandler
called when anopen
event 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
readyState
attribute 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,