it-swarm.com.de

Gibt es ein Microsoft-Äquivalent für von HTML5 gesendete Serverereignisse?

Ich verwende HTML5-Server-Sent-Ereignisse wie folgt:

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

Es funktioniert nicht in IE11. (Fehler in der Konsole: 'EventSource' is undefined) Gibt es ein identisches Microsoft-Äquivalent oder muss ich etwas völlig anderes machen?

38
GiantDuck

In einem Wort, nein.

Microsoft hat SSE oder ein Äquivalent von SSE in keine IE-Version aufgenommen. IMO, Sie haben zwei gute Möglichkeiten:

  1. Use polyfill - Meine Tests mit this polyfill in IE10 und IE11 waren alle erfolgreich. Da es mit if ("EventSource" in global) return; beginnt, wird es nur in Browsern ausgeführt, die EventSource nicht unterstützen.
  2. Verwenden Sie websockets stattdessen - Es erfordert zwar mehr serverseitige Einstellungen (das ws://-Protokoll), funktioniert in IE10 und 11 und bietet mehr Optionen, z. B. bidirektionale Kommunikation .
68
Mooseman

SSE-native Unterstützung für IE ist nicht vorhanden. Dasselbe können Sie mit polyfill erreichen.

0
Prakash N D