HTML 5 服务器发送事件 server-sent event

1.简介

Server-Sent 事件指的是网页自动获取来自服务器的更新。 Internet Explorer不支持

2.demo.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";// 输出发送日期(始终以 "data: " 开头)
flush();// 向网页刷新输出数
?>

3.html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id='res'> hhhh</div>
    <script>
        var source=new EventSource("demo.php");//创建一个新的 EventSource 对象,然后规定发送更新的页面的 URL(本例中是 "demo_sse.php"),每接收到一次更新,就会发生 onmessage 事件
        source.onmessage=function(event){
            document.getElementById("res").innerHTML=event.data;
           // alert(89);
        };
    </script>
</body>
</html>

4.

EventSource 对象

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

事件描述
onopen 当通往服务器的连接被打开
onmessage 当接收到消息
onerror 当错误发生
posted @ 2020-08-18 18:02  DurianTRY  阅读(224)  评论(0编辑  收藏  举报