问题
华为 mate 10 机型适配的 bug :
项目组做了一个 H5 扫码下载 apk 的页面(区分 Android & iOS)。
我们知道,H5页面是根据浏览器UA信息来判断 Android ,iOS & PC 端
各端通用UA信息大致如下:
// Android user-agent
Mozilla/5.0 (Linux; Android 9; BLA-AL00 Build/HUAWEIBLA-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36
// iOS user-agent
Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/16A366
// PC user-agent
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SE 2.X MetaSr 1.0; SE 2.X MetaSr 1.0; .NET CLR 2.0.50727; SE 2.X MetaSr 1.0)
H5页面根据UA信息中是否包含的 Android , iPhone 或 Windows字段,来判断是哪个端请求页面,然后分别做一些逻辑或者适配处理。
那么问题来了,假如 UA 信息本身就是错的呢?
奇葩的手机
华为 mate 10 默认 UserAgent 信息如下:
华为默认 UA 信息结果就可想而知了,H5页面根据UA信息做出判断:当前设备是 PC ,并走了 PC 的逻辑和适配,自然就是bug了。
极娱游于暇日,目吴会于云间
网友评论