h5 php服务器推送,利用HTML5 服务器推送事件(Server-sent Events)实现消息实时推送...

项目中有一个“站内信”的功能,之前是必须每次登录才能获取新收到的站内信,现在要求即使不重新登录,也要实时的送到系统发送的消息,在收到新消息后,自动改变右上角未读消息的数量及消息简要信息。

site-message.jpg

服务器推送事件(Server-sent Events)是 HTML 5 规范中的一个组成部分,可以用来从服务端实时推送数据到浏览器端。相对于与之类似的 COMET 和 WebSocket 技术来说,服务器推送事件的使用更简单,对服务器端的改动也比较小。

使用说明可以参照:http://www.w3school.com.cn/html5/html_5_serversentevents.asp

PHP后端发送给前台的数据必须是“data:”开头,然后以“\n\n”结束,才能正常解析。

在实际使用过程中,我是单独做了一个php文件,不知道具体什么原因,直接写到框架控制器的方法里,没有生效。

前台html部分关键代码:

var listen = false; //是否开启实时监听

if(listen){

var es = new EventSource("test.php");

//监听站内信

es.addEventListener("message", function(e){

document.getElementById("msg-box").innerHTML = e.data;

},false);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值