问题现状
我们应用的浏览器组件打开抖音的某个视频播放页(如
https://www.iesdouyin.com/share/video/6537198229467958531/
<https://www.iesdouyin.com/share/video/6537198229467958531/>),返回的是PC版的页面,效果如下所示
在之前的分享中,我有提过页面排版效果的问题几乎是UA的问题,所以第一时间切换UA看看是什么效果先!(如下是切换Android KitKat
webview的UA)
注:这里的浏览器组件是指对WebView的封装
根本原因
采用对比分析法,发现Android chrome访问目标页时(此时使用的chrome的UA如下)
// Android Android KitKat webview的UA Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4
Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114
Mobile Safari/537.36
通过二分法排查,UA信息中Mobile Safari字串起着关键作用,目标网站用它来判断是否给移动版的页面
我们应用的浏览器组件的UA最主要的问题是把 AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/34.0.1847.114 Mobile Safari/537.36 这类信息给去掉了 !!!
解决方案
为避免以后类型的问题发生,应用的浏览器组件的UA配置策略为默认UA的基础上追加我们由于业务需要扩展的UA信息,即
浏览器组件UA = android webview默认UA + 扩展的UA信息
热门工具 换一换