33

Sto usando HTML5 Eventi Server-Sent come segue:Esiste un equivalente Microsoft per gli eventi inviati dal server HTML5?

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

Non funziona in IE11. (Errore nella console: 'EventSource' is undefined) Esiste un equivalente Microsoft identico o devo fare qualcosa di completamente diverso?

risposta

56

In una parola, no.

Microsoft non ha incluso SSE o un equivalente di SSE in alcuna versione di IE. IMO, si hanno due buone opzioni:

  1. Utilizzare un polyfill - I miei test con this polyfill in IE10 e IE11 erano tutti di successo. Poiché inizia con if ("EventSource" in global) return;, verrà eseguito solo nei browser che non supportano EventSource.
  2. Usa invece - Anche se richiede l'installazione di più server-side (Il protocollo ws://), it works in IE10 and 11 e fornisce più opzioni come la comunicazione bidirezionale.
+2

Il polyfill funziona per me! Grazie!! – GiantDuck

+2

Qualcuno ha avuto problemi con l'utilizzo di IE10 e un polyfill in cui IE non chiude mai la connessione su scheda/browser chiusa? Ho provato più polyfill e implementazioni server e sembra che xhr.abort() di IE non chiuda mai la connessione :( – jCuga

+2

Per quanto tempo pensate che gli sviluppatori dovrebbero continuare a supportare IE? Anche se molte persone lo usano attualmente , sembra un sacco di problemi per qualcosa che è già deprecato.Gli sviluppatori dovrebbero concentrarsi maggiormente sul supporto di Edge e altri browser che sono qui per rimanere? – www139

Problemi correlati