0

可能重复:
从浏览器检测确切的操作系统版本

我一直在寻找用户试图获取操作系统版本的不同帖子,但我没有找到正确的解决方案来检测确切的操作系统版本名称。

我正在开发一个在MAC OS X 10.8.2 version(Lion)上运行不佳的 Web 应用程序。我有自动定位的东西,但它不起作用,我试图从客户端浏览器获取确切的版本号并相应地导航代码。我知道我可以使用获取操作系统名称

if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS";

但是版本名称呢?

任何帮助将不胜感激。

4

4 回答 4

1
var matches = navigator.userAgent.match(/Mac OS X ([0-9.]+)/i);

if(matches !== null && typeof matches[1] !== 'undefined')
{
    var versionNames = { '10.0': 'Cheetah', '10.1': 'Puma', '10.2': 'Jaguar', '10.3': 'Panther', '10.4': 'Tiger', '10.5': 'Leopard', '10.6': 'Snow Leopard', '10.7': 'Lion', '10.8': 'Mountain Lion' };

    if(typeof versionNames[matches[1]] !== 'undefined')
    {
        alert(versionNames[matches[1]]);
    }
    else
    {
        alert('Unidentified Mac version');        
    }
}
else
{
    alert('You are not running Mac OS X');    
}

这可能是您正在寻找的,尽管这可能不可靠。

在 jsFiddle 演示

于 2012-09-28T18:09:43.780 回答
0

这就是你要找的吗?

navigator.platform
于 2012-09-28T18:04:56.153 回答
0

看一下 navigator.useragent 变量。这不是 100% 可靠的,但使用演绎法,您至少可以在大多数情况下通过一些工作来为该功能提供支持。较旧的浏览器可能没有设置此值,但大多数较新的浏览器(过去 5 年左右)应该 - 这就是您的大多数用户。

于 2012-09-28T18:15:44.003 回答
0
var v = navigator.userAgent.match(/Mac OS X ([\d_]+)/)
if(v!=null && v[1] == "10_8_2") {
    alert("U r not support!");
}
于 2012-09-28T18:16:05.733 回答