概述通过
服务器检测 Android的明显方法是从User-Agent HTTP头搜索“Android”字符串.但是,我曾经抱怨说这在某些设备上不起作用(例如,在我的HTC Evo中),它们没有被检测为Android. whatsmyuseragent.com给我的HTC Evo 3D网络浏览器:Mozilla / 5.0(X11; Linux x86_64)AppleWebKit / 534.24(K 通过服务器检测 Android的明显方法是从User-Agent http头搜索“AndroID”字符串.但是,我曾经抱怨说这在某些设备上不起作用(例如,在我的HTC Evo中),它们没有被检测为AndroID. whatsmyuseragent.com给我的HTC Evo 3D网络浏览器:Mozilla / 5.0(X11; linux x86_64)AppleWebKit / 534.24(KHTML,像Gecko)Chrome / 11.0.696.34 Safari / 534.24.没有AndroID字符串或版本.它可能是设备上改变它的安全软件,或HTC特定的问题,不确定.
显然,AndroID Chrome在同一台设备上有另一个更好的UA:Mozilla / 5.0(linux; AndroID 4.0.3; HTC EVO 3D X515m Build / IML74K)AppleWebKit / 535.19(KHTML,像Gecko)Chrome / 18.0.1025.166 Mobile Safari / 535.19,但我不能只希望,例如QR码阅读器应用程序打开Chrome,而不是内置的AndroID浏览器,它具有无效的UA.
有没有一个好的技巧(JavaScript调用?)来检测安全的AndroID设备和浏览器?
编辑:
看起来与galaxy S III相同的问题,同样的User-Agent字符串:Android Phone Browser Detection
解决方法 看起来我在AndroID网页浏览器设置中选择了“显示桌面版本”.一旦关闭,用户代理就在AndroID里面.这似乎是ICS的一个功能,HTC不被指责:谷歌为错误的用户代理,我已经看到它发生在许多不同的手机上. 总结
以上是内存溢出为你收集整理的无法在Web服务器中检测到Android全部内容,希望文章能够帮你解决无法在Web服务器中检测到Android所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
评论列表(0条)