一尘不染

从浏览器检测确切的操作系统版本

javascript

我想知道是否有一种方法可以使用PHP / JS / ASP从浏览器中检测确切的操作系统版本?

我知道我可以检测操作系统的类型(Windows XP,Windows Vista,OS X等),但是我需要检测确切的版本:Vista
Business,Vista Ultimate,Windows XP Home,Windows XP Pro等。


阅读 531

收藏
2020-05-01

共1个答案

一尘不染

简短的回答: 不能。

长答案:

您所拥有的只是HTTP User-Agent标头中的信息,该标头通常包含操作系统名称和版本。

通常,在Mac OS和Linux上运行的浏览器会发送足够的信息以标识确切的OS。例如,这是我的User-Agent标头:

Mozilla / 5.0(X11; U; Linux x86_64; zh-CN; rv:1.9.0.7)Gecko / 2009030423
Ubuntu / 8.10(intrepid)Firefox / 3.0.7

您可以看到我正在运行Ubuntu 8.10 Intrepid Ibex。

这是MacBook Pro上Firefox和Safari 4 Beta的报告:

Mozilla / 5.0(Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.0.7)Gecko /
2009021906 Firefox / 3.0.7

Mozilla / 5.0(Macintosh; U; Intel Mac OS X 10_5_6; zh-cn)AppleWebKit /
528.16(KHTML,如Gecko)版本/4.0 Safari / 528.16

另一方面,Windows浏览器通常仅报告操作系统版本,而不报告特定的软件包(Pro,Business等):

Mozilla / 5.0(Windows; U; Windows NT 5.1; zh-CN; rv:xxx)Gecko / 20041107
Firefox / xx

2020-05-01