摘要:HTML5 服务器发送事件,网页自动获取来自服务器端的更新,这是单向消息传递。
if (typeof(EventSource) !== "undefined") { //浏览器支持 //... } else { //浏览器不支持 }
其中,EventSource对象表示服务器发送事件实例。用于接收服务器发送事件的通知。
var source = new EventSource("demo_sse.php"); //创建EventSource对象,用于接收服务器发送事件通知。规定发送更新的页面的URL。 source.onmessage = function (event) { console.log(event.data); //接收的数据 };
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>服务器发送事件</title> </head> <body> <h1>获取服务器更新</h1> <div id="result"></div> </body> <script> if (typeof(EventSource) !== "undefined") { //创建新的EventSource对象,然后发送更新页面的URL. //每接收一次更新,就触发message事件,添加onmessage事件处理程序. //最后将接收到的数据输入到页面.event对象的data属性中保存着更新的数据. var source = new EventSource("demo_sse.php"); source.onmessage = function (event) { var result = document.getElementById("result"); result.innerHTML = event.data; }; } else { document.getElementById("result").innerHTML = "浏览器不支持"; } </script> </html>
其中,demo_sse.php文件的代码为:
<?php header("Content-type: text/event-stream"); header("Cache-Content: no-cache"); $time = date("r"); echo "data: The server time is: {$time}nn"; flush(); ?>
相关文章推荐
智能手机建站的优点是什么?网站页面布局有哪些关键点? 2022-01-10
2022年中国云计算面临的问题及发展前景预测分析2021-12-28
绿色智能基础设施连接可持续未来-IDCC2021万国数据第一代Smart DC发布会议程揭晓2021-12-27
阿里云:早期未意识到Apache log4j2漏洞情况的严重性 将强化漏洞管理2021-12-27
云计算开发:Python3-replace()方法详解2021-12-27