随着android设备增多,不少网站都开始设备android设备,而android主流设备类型以手机和平板为主。网站在适配时通过user agent(用户代理,以下简称ua)又如何区分呢,本文部分内容翻译自google官方博客
一针见血
标准判断规则:mobile android has “mobile” string in the user-agent header. tablet android does not.
在android设备ua字符串中,移动设备包含mobile字符串,而平板设备没有。
旁征博引
在最初的android设备(即手机)中ua字符串中包含着android,所以那时候可以使用检测ua字符串中是否包含(不区分大小写)android来判断。
但是后来一个新的android设备出现了,就是android平板,不幸的是,android平板上的ua也包含android,而对于平板上更适合展示桌面(pc)的网页版式。而如果仅仅以上述的判断规则,会给平板用户带来不是很好的用户体验。
鉴于上述问题,google的android工程师提出了一个解决方案。对于引导到移动版式的设备,即手机,需要从ua字符串中同时判断是否包含mobile和android这两个单词。我们先看一些示例。
比如这个ua字符串
我们再看另一个ua字符串
包含了mobile和android,所以把这台nexus one手机导向到移动版式吧。
相信通过上面两个ua字符串对比,你发现了ua的一些共性了吧,我们看看这些共性吧。
最后
所以,当你依据检测ua来判断android手机设备,请同时检查android和mobile两个字符串。
如对本文有疑问, 点击进行留言回复!!
Codeforces C. A Cookie for You (模拟 / 分类 / 贪心) (Round #654 Div.2)
DialogFragment弹窗(带黑色透明背景和不带黑色透明背景)
网友评论