揭秘喜马拉雅黑科技——网页播放器(创建自己的单页应用)

  某天上班,偶然打开网页版的喜马拉雅,随手点了首推荐音频。。。于是伴随着动词大词,动词大词,继续逛着它的首页。
  一个不小心,又点进了老郭的相声,哎,还是木有更新,不过老段子也可以再听听,正当老夫要点播的时候,突然!哎呀!卧槽!卧槽!牛逼啊!我都逛了这么多页面了,耳机里的”动词大词”竟然连顿都没打,当时还打开了一下本地播放器,以为是它播放的音乐。
  详细情形是这样的:我在喜马拉雅的a页面播放了音乐,然后又去b页面c页面,音乐却并没有卡顿现象,稳如死狗!注意,这里说的是连卡顿都没有,不是说跳到别的页面会继续播放。
  国内的在线音乐平台有很多,实现喜马拉雅的这种哥还是头一回见啊。大部分都是采取的本地缓存音乐进度,跳到别的页面再读取进度,继续播放,但切页面的时候肯定是会有卡顿的。所以这里给喜马拉雅的用户体验32个赞!
  那么问题来了,这种网页播放器是如何实现的?
  简单点说,其实就是使用了html5的api:histoyr.pushstate
  1. 页面中,所有的a标签,js对其做了点击事件的拦截,如果是支持该API的浏览器不会发生跳转,而是通过ajax请求该链接,返回结果是一串类似于如下的json:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值