优酷、土豆等视频网站是通过哪些方式识别 iOS 设备的仅仅是 User-Agent 吗
主要还是 UA。以优酷为例,查看源码可以发现是直接输出带 HTML5 控制元素的 \u0026lt;video\u0026gt;,随后根据 UA 来决定是不是要跑一遍生成 SWF object 的 JS(把 \u0026lt;video\u0026gt; 替换成 \u0026lt;object\u0026gt;/\u0026lt;embed\u0026gt;)。在 Chrome 下更改 UA 后,刷新或者等当前页播完自动刷新时就能看到新页面里 Flash 变成了 HTML5 player,而 Safari 是直接就变 HTML5 player,猜测这是由于 Chrome UA 机制的问题导致偶尔切换不成。插曲:我这里可能由于 HTML5 video 解码的问题,看到了很多 exception,说明优酷在容错上并不是很细心。我的方案:检测 UA 和 HTML5 Video APIs,如果不是 mobile,直接跳过 APIs 检测,如果是,检测是否支持对应 APIs,不支持就尝试 fallback 到 Flash。补充:基于 @胡强 的观点,补充一下,为什么我会先检测 HTML5,针对移动设备,目前 HTML5 的利远大于 Flash 的弊,先检测 Flash 的话,不管设备支不支持 HTML5,只要支持 Flash 就直接用,对于有 Flash 插件的 Android 系列,无疑是适当的,对这些用户而言,上这个网站,意味着耗电快、发热高,如果先 HTML5,就能改善对这些用户的体验,至少不会留下一个「一上这网站就发热」的坏印象。
■网友
换个角度考虑,视频网站可以先检测浏览器是否支持Flash,如果浏览器不支持Flash的时候再去检测设备类型,所以你在电脑里面就算UA改为iOS的UA,但是浏览器依然支持Flash,就优先使用Flash播放了。以上为推测,未实际验证(因为我没有找到有楼主描述的问题的网页)
■网友
其实youku用的是UA,之所以你用chrome的User-Agent Switcher for Chrome失败是因为这个插件里默认包含的UA是youku不识别的。最简单验证的方法是把Safari的开发选项打开,然后UA选iPad,你再试一试,就知道了。PS: 开发选项打开方法: Safari的偏好设置 - 》高级,勾上“在菜单栏里显示开发菜单”
■网友
目前的国情是运营商不给User-agent的信息。期待解决方法。。。。。。
推荐阅读
- 中国版Evan能火吗美国9岁男童录制评测玩具视频年入800万,中国能否复制成功
- 官方回应“南华县学生被踢视频”:视频内容属实,责令涉事教师停职检查
- 现在在线学习视频有很多了,为啥大部分人还是喜欢下载下来观看
- 微博目前已经支持文本,图片,位置分享,为啥没有语音和视频呢微博的pm肯定想过这两种微博形态,但迟迟不做的原因到底是啥。是语音和视频不符合产
- 虐杀动物视频买卖形成地下产业链,媒体:传播也是宣扬暴力
- 产业链|虐杀动物视频买卖形成地下产业链 传播也是宣扬暴力
- 有哪些做短视频的自媒体推荐
- 请问国内最好的数据恢复公司是哪个朋友结婚视频不小心被误删,急求帮忙
- 被硬盘录像机自动删除的监控视频还能找回来了吗
- 自学编程知识是自己啃书加实践好还是看视频加实践好好