例子解释:
-
创建一个新的 EventSource 对象,然后规定发送更新的页面的 URL(本例中是 “demo_sse.php”)
-
每接收到一次更新,就会发生 onmessage 事件
-
当 onmessage 事件发生时,把已接收的数据推入 id 为 “result” 的元素中
检测 Server-Sent 事件支持
在上面的 TIY 实例中,我们编写了一段额外的代码来检测服务器发送事件的浏览器支持情况:
if(typeof(EventSource)!==“undefined”)
{
// Yes! Server-sent events support!
// 《大厂前端面试题解析+Web核心总结学习笔记+企业项目实战源码+最新高清讲解视频》无偿开源 徽信搜索公众号【编程进阶路】 Some code…
}
else
{
// Sorry! No server-sent events support…
}
服务器端代码实例
为了让上面的例子可以运行,您还需要能够发送数据更新的服务器(比如 [PHP](() 和 ASP)。
服务器端事件流的语法是非常简单的。把 “Content-Type” 报头设置为 “text/event-stream”。现在,您可以开始发送事件流了。