百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>html5教程> H5的之sse办事器发送事件EventSource详解-
分享文章到:

H5的之sse办事器发送事件EventSource详解-

发布时间:08/01 来源:未知 浏览: 关键词:
这次给大家带来H5的之sse办事器发送事件EventSource详解,sse办事器发送事件EventSource的注意事项是什么,下面就是实战案例,一起来看一下。 这次给大家带来H5的之sse办事器发送事件EventSource详解,sse办事器发送事件EventSource的注意事项是什么,下面就是实战案例,一起来看一下。

前言

我前面文章讲过数据大屏,里面的数据不时更新。还有不时更新的股票数据,Facebook/Twitter 更新、估价更新、新的博文、赛事效果等等,都需要数据不时更新。以前我们个别都是要求办事器,看看有没有可以更新的数据。html5供给了Server-Sent Events办法,通过办事器发送事件,更新能够主动抵达。

Server-Sent Events运用

Server-Sent Events运用很简略,通过EventSource 对象来承受办事器端新闻。有如下事件:

  • onopen 当通往办事器的连贯被打开

  • onmessage 当接收到新闻

  • onerror 当产生差错

检测 Server-Sent 事件支撑

if(typeof(EventSource)!=="undefined")
{
  // 阅读器支撑 Server-Sent
  // 一些代码.....
}
else
{
// 阅读器不支撑 Server-Sent..
}

接收 Server-Sent 事件通知

var source=new EventSource("haorooms_sse.php");
source.onmessage=function(event)
{
    document.getElementById("result").innerHTML+=event.data + "
"; };

办事器端代码实例

链接事件和报错事件都加上

if(typeof(EventSource)!=="undefined")
{
    var source=new EventSource("server.php");
    source.onopen=function()
    {
         console.log("Connection to server opened.");
    };
    source.onmessage=function(event)
    {
        document.getElementById("result").innerHTML+=event.data + "
"; }; source.onerror=function() { console.log("EventSource failed."); }; } else { document.getElementById("result").innerHTML="抱愧,你的阅读器不支撑 server-sent 事件..."; }

我们会发明,控制台打印如下:

不绝的进入链接、和差错,详情请点击

那是由于php代码只是简略的echo,并没有陆续输出,我们把上面php代码做如下改善

就不会涌现不绝差错了!

IE阅读器兼容解决方案

我们晓得,IE阅读器并不支撑EventSource,有如下解决方案:

引入

eventsource.min.js

就可以完善解决。可以查看其github地址:https://github.com/Yaffle/EventSource 联合nodejs运用也很利便,直接

npm install event-source-polyfill

信赖看了本案牍例你已经把握了办法,更多出色请关注 百分百源码网 其它相干文章!

举荐浏览:

H5实现可缩放的时钟动画

前缀data-属性和dataset的运用办法

以上就是H5的之sse办事器发送事件EventSource详解的细致内容,更多请关注 百分百源码网 其它相干文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有151人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板