web-dev-qa-db-ja.com

HTML5サーバー送信イベントに相当するマイクロソフトはありますか?

次のようにHTML5サーバー送信イベントを使用しています。

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

IE11では機能しません。 (コンソールのエラー:'EventSource' is undefined)同じMicrosoftの同等物はありますか、それとも完全に異なる何かをしなければなりませんか?

39
GiantDuck

一言で言えば、いいえ。

Microsoftは、IEのどのバージョンにもSSEまたは同等のSSEを含めていません。IMOには、2つの適切なオプションがあります。

  1. ポリフィルを使用する-IE10およびIE11での this polyfill を使用したテストはすべて成功しました。 if ("EventSource" in global) return;で始まるため、EventSourceをサポートしないブラウザーでのみ実行されます。
  2. 代わりに websockets を使用します-さらにサーバー側のセットアップが必要ですが(ws://プロトコル)、 IE10および11で動作します 双方向通信などのオプションを提供します。
71
Mooseman

IEのSSEネイティブサポートはありません。 polyfill を使用して同じことを達成できます。

1
Prakash N D