JavaScript-百度音乐盒的跨页面响应是如何实现的?
用百度音乐盒的时候发现一个问题,我打开了第一个tab页是百度音乐盒,第二个tab页是榜单页面。在榜单页面点击播放,音乐盒会自动添加并播放这首歌曲。这是如何做到的?
我没有在音乐盒的页面里找到ajax轮询的痕迹,请问像这样的跨页面响应是怎么实现的?
刚刚找了些资料,貌似可以用多页面消息同步实现?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
刚看了下 。不是ajax轮询。。这种估计百度也丢不起那人呀 --~!
估计是俩页面间cookie交互。。 一个页面set 另个页面setInterval 的获取有更新就到服务器
上拉下歌
遗憾的是没找到证据--!
刚才在控制台里面看了一下百度音乐盒的network请求,发现了服务器返回的Response Headers里面有个Connection:Keep-Alive。貌似是使用了长连接啊!
不知道这样是不是我要的答案呢
使用长连接实现服务器对浏览器的消息推送 貌似是这样的!
采用的是服务器推技术
主要应用了服务器推技术(comet),播放页向服务器发送一个请求,但服务端不立即返回此请求(挂起该请求),一旦服务端有了新的数据(用户在另一个页面发送了添加歌曲的请求),则立马返回一开始被挂起的请求,然后播放页再发起一个新的请求周而复始,实现了服务端和客户端的长连接,我用此技术写了个简单的聊天室程序,感兴趣的朋友请移步http://chat.mobanbase.com