html5 sse
1. 含义
- sse–>Server-Sent Events
- sse的含义h5服务器发送事件,允许网页获得来自服务器的更新。
2. Server-Sent事件,单向消息传递
- Server-Sent 事件指的是网页自动获取来自服务器的更新。
- 以前也可能做到这一点,前提是网页不得不询问是否有可用的更新。通过服务器发送事件,更新能够自动到达。
- 比如,Facebook/Twitter 更新、估价更新、新的博文、赛事结果等。
3. 浏览器支持
- 所有主流浏览器均支持服务器发送事件,除了 IE。
4. 接收Server-Sent 事件通知
- EventSource 对象用于接收服务器发送事件通知。
- 创建新的 EventSource 对象,然后规定发送更新的页面的 URL(本例中是 “demo.php”);
- 每接收到一次更新,就会发生 onmessage 事件;
- 当 onmessage 事件发生时,把已接收的数据推入 id 为 “result” 的元素中。
function getEvent(){
if (typeof(EventSource)!=="undefined") {
var source = new EventSource("demo.php");
source.onmessage=function(event){
document.getElementById("result").innerHTML+=event.data+"<br>";
}
}
}
5. 检测Server-Sent事件支持
- 检测浏览器岁sse的支持。
function getEvent(){
if (typeof(EventSource)!=="undefined") {
//支持Server-Sent事件
}else {
//不支持Server-Sent事件
}
}