网站设备检测
回答
检测设备或Web浏览器的唯一方法就是用户代理字符串,每个Web浏览器必须按照HTTP 1.1协议提供用户代理。用户代理字符串可以包含多个产品令牌。按照惯例,产品标记按其对识别应用程序的意义顺序列出。
对于基于Mozilla的浏览器,用户代理字符串应遵循以下格式:
MozillaProductToken (MozillaComment) GeckoProductToken *
(VendorProductToken|VendorComment)
应用的,嵌入的Gecko排版引擎应具有下面的格式的用户代理字符串:
ApplicationProductToken (ApplicationComment) GeckoProductToken *
(VendorProductToken|VendorComment)
其中:
ProductToken : Mozilla/ MozillaVersion
Version : Major . Minor
Comment : (Platform; Security; OS-or-CPU;
Localization information;
GeckoVersion)*[; Optional Other Comments])
Platform : Windows, Linux, Mac etc.
Security : N for no security;
U for strong security;
I for weak security
OS-or-CPU : Windows Version/MacOS
GeckoVersion : String starting with "rv:" followed
by the Gecko version
GeckoProductToken: Gecko/GeckoDate
GeckoDate : Date in the format YYYYMMDD
例子
Mozilla的推出
Mozilla/5.001 (windows; U; NT4.0; en-US; rv:1.0) Gecko/25250101
基于相同的基本代码的浏览器上面
Mozilla/5.001 (Macintosh; N; PPC; ja; rv:1.0) Gecko/25250101
MegaCorpBrowser/1.0 (MegaCorp, Inc.)
甲重新命名释放
Mozilla/9.876 (X11; U; Linux 2.2.12-20 i686, en; rv:2.0) Gecko/
25250101 Netscape/5.432b1 (C-MindSpring)
甲基于Gecko的浏览器有品牌的释放
TinyBrowser/2.0 (TinyBrowser Comment; rv:1.9.1a2pre) Gecko/202
种
OPERA
用户字符串规格:
Opera/Version (OS-or-CPU; Encryption; Language)
铬
他们使用的WebKit作为其渲染引擎,但使用不同的JavaScript引擎。对于Chrome的最初测试版本,0.2版本,用户代理字符串以及所有从WebKit的信息以及对于Chrome版本的额外部分进行。格式如下:
Mozilla/5.0 (Platform; Encryption; OS-or-CPU; Language)
AppleWebKit/AppleWebKitVersion (KHTML, like Gecko) Chrome/
ChromeVersion Safari/SafariVersion
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML,
like Gecko) Chrome/0.2.149.29 Safari/525.13
Konqueror的
的Konqueror,在KDE Linux桌面环境捆绑浏览器,是基于KHTML开源渲染引擎。虽然仅在Linux上可用,但Konqueror拥有活跃的用户群。为了获得最佳的兼容性,Konqueror中选择IE后,设置其用户代理字符串如下:
Mozilla/5.0 (compatible; Konqueror/3.5; SunOS) KHTML/3.5.0 (like Gecko)
的WebKit
在2003年,苹果宣布将推出自己的网络浏览器,Safari浏览器叫。被称为WebKit的Safari渲染引擎最初是基于Linux的Konqueror Web浏览器中使用的KHTML渲染引擎的一个分支。但是,您如何确保浏览器未被锁定在热门网站之外?答案是,将足够的信息放入用户代理字符串中以说服网站浏览器与其他流行的浏览器兼容。这导致了用户代理字符串格式如下:
Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/
124 (KHTML, like Gecko) Safari/125.1
手机和平板指标
的UA字符串的平台部分表示,如果Firefox是一个手机大小的设备或平板电脑上运行。当Firefox在具有手机外形的设备上运行时,会出现Mobile;令牌在UA字符串的平台部分。例如:
Mozilla/5.0 (Android; Mobile; rv:13.0) Gecko/13.0 Firefox/13.0
Mozilla/5.0 (Android; Tablet; rv:13.0) Gecko/13.0 Firefox/13.0
但是,如果你使用UA嗅探到目标内容到设备的外形尺寸,请认准摩比(包括Opera移动,它采用“牧高笛”)手机的外形和不假设“Android”和设备形状因子之间有任何关联。
的Android
Phone : Mozilla/5.0 (Android; Mobile; rv:13.0) Gecko/13.0 Firefox/13.0
Tablet : Mozilla/5.0 (Android; Tablet; rv:13.0) Gecko/13.0 Firefox/13.0
火狐OS
Phone : Mozilla/5.0 (Mobile; rv:15.0) Gecko/15.0 Firefox/15.0
您可以有哪些设备访问者使用同时使用服务器端和客户端技术做一个聪明的猜测:
- PHP可以解析用户代理或在已知设备的数据库上查找它
- Javascript可以检测浏览器的多个API和功能,为您提供关于设备功能的非常好的照片。
虽然没有真正的保证(你基本上相信无论浏览器是选择向大家介绍自己)这里有一个你可以告诉用户设备什么的两个样本:
- 1. 网站检测设备
- 2. JmDNS检测Android中的网络设备
- 3. 检测越狱设备与网页
- 4. 检测设备访问网页,ASP.net
- 5. Silverlight检测设备
- 6. 检测Android设备
- 7. 网站上的USB设备
- 8. API来检测USB设备
- 9. 检测设备品牌
- 10. 检测移动设备
- 11. 检测USB设备android
- 12. 检测的iOS设备11
- 13. navigator.userAgent检测移动设备?
- 14. 颠倒检测设备
- 15. PyUsb:检测设备移除
- 16. 检测设备移动
- 17. python网站语言检测
- 18. 如何检测Joomla网站?
- 19. 用户通过设备上的BACK按钮转到网站时检测
- 20. 您如何检测用于访问您的网站的浏览器/设备?
- 21. 网站设计测试
- 22. 手机网站测试:仿真器与真实设备
- 23. 我如何测试移动设备的网站
- 24. 检查网站是否在某些设备上使用
- 25. 如何从移动网站检索设备信息?
- 26. 网站在Apple设备上缩放,但不在Android设备上
- 27. 移动设备网站 - 使用Visual Studio
- 28. 从网站通信到本地设备
- 29. 更改为移动设备的网站
- 30. 移动设备编程网站
严格技术上说:没有。但实际建议您应该使用搜索;)(我试试,太) – hakre 2013-03-08 16:48:55
在github上看了一下,发现了这个项目:https://github.com/serbanghita/Mobile-Detect。也许你可以使用它。 – Tjoene 2013-03-08 17:03:01
@Tjoene看起来确实很聪明。我不知道它有多准确,但看起来很有希望。谢谢! – 2013-03-08 17:04:37