利用html5的EventSource实现扫码登陆

众所周知,大部分网页都是由客户端向服务器发出请求,然后由服务器回应相应数据。

但在最新的HTML5标准中,新增了可以实现服务器推送消息的机制。

比如,在最近比较常见的QQ扫码登陆中,PC端打开一个网页显示二维码,手机端扫描并进行相应授权即可实现登陆功能。笔者开始很好奇,明明浏览器没有发出新的请求。为什么授权之后可以进行跳转?

于是,查找相关资料,并做了一个简单的Demo。

测试地址:扫码登陆

代码已经上传到github,仓库地址:Demo

blob.png

在HTML5中,有EventSource功能,利用此功能,可以实现服务器向客户端推送消息。

这是一个轮询过程,客户端创建一个后端进程,每隔一定的时间向服务器发出请求,服务器根据相关条件返回不同数据,客户端页面获取这些数据并对不同数据进行分析,生成不同的事件。

blob.png

二维码生成使用了JQuery中的相关功能。

有兴趣的可以看看。

0 条评论
发表一条评论