淘先锋技术网

首页 1 2 3 4 5 6 7

if(typeof(EventSource)!==“undefined”)

{

// Yes! Server-sent events support!

// Some code…

}

else

{

// Sorry! No server-sent events support…

}

服务器端代码实例

为了让上面的例子可以运行,您还需要能够发送数据更新的服务器(比如 [PHP](() 和 ASP)。

服务器端事件流的语法是非常简单的。把 “Content-Type” 报头设置为 “text/event-stream”。现在,您可以开始发送事件流了。

[PHP](htt 《大厂前端面试题解析+Web核心总结学习笔记+企业项目实战源码+最新高清讲解视频》无偿开源 徽信搜索公众号【编程进阶路】 p://www.aseoe.com/php/) 代码 (demo_sse.php):

<?php header('Content-Type: text/event-stream'); header('Cache-Control: no-cache'); $time = date('r'); echo "data: The server time is: {$time}\\n\\n"; flush(); ?>

ASP 代码 (VB) (demo_sse.asp):

<%

Response.ContentType=“text/event-stream”

Response.Expires=-1

Response.Write("data: " & now())

Response.Flush()

%>

新建一个前端学习qun438905713,在群里大多数都是零基础学习者,大家相互帮助,相互解答,并且还准备很多学习资料,欢迎零基础的小伙伴来一起交流。

代码解释:

  • 把报头 “Content-Type” 设置为 “text/event-stream”

  • 规定不对页面进行缓存

  • 输出发送日期(始终以 "data: " 开头)

  • 向网页刷新输出数据

EventSource 对象

在上面的例子中,我们使用 onmessage 事件来获取消息。不过还可以使用其他事件:

事件描述
onopen当通往服务器的连接被打开
onmessage当接收到消息