HTML5
HTML5 SSE
服务器发送事件(Server-sent Events)是基于 WebSocket 协议的一种服务器向客户端发送事件和数据的单向通讯。 HTML5 服务器发送事件(server-sent event)允许网页获得来自服务器的更新。 #### EventSource 对象 | 事件 | 描述 | |-----|-----| | onopen | 当通往服务器的连接被打开 | | onmessage | 当接收到消息 | | onerror | 当发生错误 | #### 接收 Server-Sent 事件通知 ```javascript if(typeof(EventSource)!=="undefined") { // 浏览器支持 Server-Sent var source=new EventSource("demo_sse.php"); source.onmessage=function(event) { document.getElementById("result").innerHTML+=event.data + "<br>"; }; } else { // 浏览器不支持 Server-Sent.. } ``` - 实例解析: - 创建一个新的 EventSource 对象,然后规定发送更新的页面的 URL(本例中是 "demo_sse.php") - 每接收到一次更新,就会发生 onmessage 事件 - 当 onmessage 事件发生时,把已接收的数据推入 id 为 "result" 的元素中 #### 服务器端代码实例 ```php <?php header('Content-Type: text/event-stream'); //把报头 "Content-Type" 设置为 "text/event-stream" header('Cache-Control: no-cache'); //规定不对页面进行缓存 $time = date('r'); echo "data: The server time is: {$time}nn"; //输出发送日期(始终以 "data: " 开头) flush(); //向网页刷新输出数据 ?> ```
顶部
收展
底部
[TOC]
目录
HTML5 Web 存储
HTML5 Web Workers
HTML5 WebSocket
HTML5 SSE
HTML5 语义元素
HTML5 表单元素属性
HTML5 地理定位
HTML5 拖放(Drag 和 Drop)
相关推荐
HTML5音视频
HTML5画布