300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > uc浏览器的navigator.userAgent

uc浏览器的navigator.userAgent

时间:2024-07-31 14:03:42

相关推荐

uc浏览器的navigator.userAgent

1.uc极速版浏览器和uc浏览器navigator.userAgent的输出结果会有所不同

在解决线上bug的时候,发现请求的路径URL的部分字段是根据navigator.userAgent的结果来决定的。

const isAndroid = () => {const u = navigator.userAgentreturn u.indexOf('Android') > -1 || u.indexOf('Linux') > -1}const ua = navigator.userAgent.toLowerCase();let platform = '';if (ua.indexOf('ucbrowser') > 0) {platform=isAndroid()?4:3;} const pathPrefix = {3: 'ucios',4: 'ucan',}return axios.post({url: `/${pathPrefix[platform]}/.....'})

最后出现路径中出现了undefined

思考:

产生bug的原因一定是platform的值的问题导致的。猜想是可能出现获取不到ua的情况-----》尝试之后,不是分析用户返回的数据:发现导致bug的因素有:客户端的版本号从版本号入手,下载尝试----》最终发现是极速版uc浏览器返回的navigator.userAgent不一样,导致在进行判断的时候,找不到ucbrowser,所以platform的值是空串,导致路径出现undefined。

产生bug的原因:不同版本的uc浏览器返回的navigator.userAgent不一样,导致在进行判断的时候,找不到ucbrowser,所以platform的值是空串,导致路径出现undefined。

最后发现:同一浏览器输出的ua有可能也会有所不同,如图(V13.8.5.1147)

最新浏览器的输出的ua,如图(v15.0.3.1193)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。