HTML5 服务器发送的 Pod
您还可以获取有关课程的更多信息? (服务器发送事件 - SSE)
其它,服务器发送事件 (服务器发送事件 - SSE) дозволяють веб-сторінці отримувати оновлення з сервера.
服务器发送的 Pod 是单向通知
服务器发送的 Pod - це коли веб-сторінка автоматично отримує оновлення з сервера.
以前也是可以的,但是在网页上需要发出请求才能查看是否有更新。 服务器发送的主题会自动更新。
应用:Facebook/Twitter 更新、股票价格更新、新闻页面、体育赛事结果等。
浏览器支持
表中的数字表示浏览器的第一个版本,一般支持服务器发送的提交。
API | |||||
---|---|---|---|---|---|
上交所 | 6.0 | 不做任何努力 | 6.0 | 5.0 | 11.5 |
取消服务器发送的细分通知
EventSource 对象用于显示有关服务器发送的事件的通知:
屁股
var 源 = 新事件源 (“demo_sse.html”);
源.onmessage = 函数(事件){
document.getElementById("结果").innerHTML += event.data + "<br> “;
};
自己尝试一下»
屁股的解释:
- 访问 EventSource 的新对象并添加 URL 目录页面,然后同步视频(在源文件中“demo_sse.html”)
- 一旦皮肤被移除,就会生成一条新消息
- 如果你想查看 onmessage 中的内容,请在 id="result" 处输入以下内容
检查服务器发送的内容
在“Try It Yourself”应用程序中,有几行附加代码用于检查内容服务器发送的浏览器支持:
如果(typeof(EventSource)!==“未定义”){
// 所以! 鼓励向服务器提交!
// 代码是什么......
} 别的 {
// 不幸的是,不支持向服务器发送消息。
}
服务器端代码示例
为了实现这一点,应用程序需要一个可以发送更新数据的服务器(例如,PHP 或 ASP)。
服务器端流程的语法很简单。 将“Content-Type”标头设置为“text/event-stream”。 现在您可以开始发送流了。
PHP 代码(demo_sse.html):
<?php
标头('内容类型:文本/事件流');
标头('缓存控制:无缓存');
$时间 = 日期('r');
echo "data: 服务器时间为:{$time}\n\n";
冲洗();
?>
ASP (VB) 中的代码 (demo_sse.asp):
<%
Response.ContentType =“文本/事件流”
响应.Expires = -1
Response.Write("data: 服务器时间为:" & now())
Response.Flush()
%>
代码解释:
- 选中“Content-Type”和“text/event-stream”
- 表示该页面不需要缓存(not cache)
- 显示需要发送的数据。 (扎夫日迪 请参阅“data:”)
- 将您的假期数据发送回网站
事件源对象
我们用屁股指着讲台 消息 для отримання повідомлень. Але доступні й інші події:
波迪伊 | 描述 |
---|---|
开启 | 当私下连接到服务器时 |
消息 | 如果取消通知 |
错误 | 科利维尼克拉赦免 |