服务器发送事件
备注: 此特性在 Web Worker 中可用。
通常来说,一个网页获取新的数据通常需要发送一个请求到服务器,也就是向服务器请求的页面。使用服务器发送事件,服务器可以随时向我们的 Web 页面推送数据和信息。这些被推送进来的信息可以在这个页面上以事件+数据的形式来处理。
备注: Firefox 不能在 service worker 正常支持服务器发送事件(但支持在 Dedicated Worker 和 Shared Worker 中使用)。参见 Firefox bug 1681218。
概念与使用
要了解如何使用服务器发送事件,请参阅我们的文章使用服务器发送事件。
接口
EventSource
-
定义了所有处理与服务器连接、接收事件/数据、处理错误、关闭连接等功能的特性。
示例
规范
Specification |
---|
HTML Standard # server-sent-events |
参见
工具
- Mercure:一个建立在 SSE 之上的实时通信(发布——订阅)协议
- 用于 Node.js 的 EventSource polyfill
- Remy Sharp 的 EventSource polyfill
- Yaffle 的 EventSource polyfill
- Rick Waldron 的 jquery 插件
- intercooler.js 声明性的 SSE 支持
相关主题
其他资源
- 使用服务器发送事件创建一个墙推社交应用程序,代码存放在这里:Github。