是否有Microsoft等效的HTML5 Server-Sent Events?

Gia*_*uck 39 html5 internet-explorer server-sent-events internet-explorer-11

我正在使用HTML5 Server-Sent Events,如下所示:

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

它在IE11中不起作用.(控制台出错:)'EventSource' is undefined是否有相同的Microsoft等价物,或者我必须做一些完全不同的事情?

Moo*_*man 72

总之,没有.

Microsoft未在任何版本的IE中包含SSE或等效的SSE.IMO,你有两个不错的选择:

  1. 使用polyfill - 我在IE10和IE11中使用此polyfill的测试都是成功的.从它开始if ("EventSource" in global) return;,它只会在不支持的浏览器中运行EventSource.
  2. 使用代替 - 虽然它需要更多的服务器端设置(ws://协议),但它在IE10和11中工作,并提供更多选项,如双向通信.

  • 对于它的价值,它不仅仅是MS在IE中缺乏这一点,它们也没有在Edge中获得EventSource支持.真是个蠢货.就我而言,我"必须"支持Edge,因为这是Win10上的默认浏览器. (6认同)
  • polyfill适合我!谢谢!! (4认同)
  • 有没有人在使用IE10和polyfill时遇到麻烦,IE从不关闭标签/浏览器关闭的连接?我尝试了多个polyfill和服务器实现,似乎IE的xhr.abort()永远不会关闭连接:( (2认同)
  • 您认为开发人员应该继续支持IE多久?即使很多人目前使用它,对于已经弃用的东西来说似乎也很麻烦.开发人员是否应该更多地关注支持Edge和其他支持的浏览器? (2认同)