Is there a Microsoft equivalent for HTML5 Server-Sent Events?

GiantDuck picture GiantDuck · Jun 30, 2014 · Viewed 30k times · Source

I am using HTML5 Server-Sent Events as follows:

    SSEUpdate = new EventSource("http://example.com/update.php");
    SSEUpdate.onmessage = function(e){
      console.log(e.data);
    }

It does not work in IE11. (Error in console: 'EventSource' is undefined) Is there an identical Microsoft equivalent, or do I have to do something completely different?

Answer

Mooseman picture Mooseman · Jul 3, 2014

In a word, no.

Microsoft has not included SSE or an equivalent of SSE in any version of IE. IMO, you have two good options:

  1. Use a polyfill - My tests with this polyfill in IE10 and IE11 were all successful. Since it starts with if ("EventSource" in global) return;, it'll only run in browsers that do not support EventSource.
  2. Use instead - Although it requires more server-side setup (The ws:// protocol), it works in IE10 and 11 and provides more options such as bi-directional communication.