EventSource: EventSource() constructor

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.

Note: This feature is available in Web Workers.

The EventSource() constructor returns a newly-created EventSource, which represents a remote resource.

Syntax

js
new EventSource(url)
new EventSource(url, options)

Parameters

url

A string that represents the location of the remote resource serving the events/messages.

options Optional

Provides options to configure the new connection. The possible entries are:

withCredentials Optional

A boolean value, defaulting to false, indicating if CORS should be set to include credentials.

Examples

js
const evtSource = new EventSource("sse.php");
const eventList = document.querySelector("ul");

evtSource.onmessage = (e) => {
  const 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
HTML
# dom-eventsource-dev

Browser compatibility

desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
EventSource() constructor
options.withCredentials parameter

See also