博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android开发填坑之自定义User-Agent(UA)
阅读量:4030 次
发布时间:2019-05-24

本文共 654 字,大约阅读时间需要 2 分钟。

问题现状

我们应用的浏览器组件打开抖音的某个视频播放页(如),返回的是PC版的页面,效果如下所示

这里写图片描述
在之前的分享中,我有提过页面排版效果的问题几乎是UA的问题,所以第一时间切换UA看看是什么效果先!(如下是切换Android KitKat webview的UA)
这里写图片描述

注:这里的浏览器组件是指对WebView的封装

根本原因

采用对比分析法,发现Android chrome访问目标页时(此时使用的chrome的UA如下)

// Android Android KitKat webview的UAMozilla/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信息
你可能感兴趣的文章
android中shader的使用
查看>>
java LinkedList与ArrayList迭代器遍历和for遍历对比
查看>>
Android DataBinding使用2-Recycleview
查看>>
drat中构造方法
查看>>
JavaScript的一些基础-数据类型
查看>>
JavaScript基础知识(2)
查看>>
转载一个webview开车指南以及实际项目中的使用
查看>>
关于activity保存页面状态的两个方法
查看>>
android中对于非属性动画的整理
查看>>
一个简单的TabLayout的使用
查看>>
关于let{a}=B出现的解构赋值
查看>>
ReactNative使用Redux例子
查看>>
Promise的基本使用
查看>>
android给文字加边框(修改不能居中的问题)
查看>>
coursesa课程 Python 3 programming course_2_assessment_1
查看>>
coursesa课程 Python 3 programming 统计文件有多少单词
查看>>
coursesa课程 Python 3 programming 输出每一行句子的第三个单词
查看>>
coursesa课程 Python 3 programming Dictionary methods 字典的方法
查看>>
Returning a value from a function
查看>>
coursesa课程 Python 3 programming Functions can call other functions 函数调用另一个函数
查看>>