从HTML / JS检查简单的操作系统

时间:2011-03-03 16:59:50

标签: javascript html browser browser-detection

我已经看到了一些关于使用JS获取有关操作系统的详细信息的问题。但我只是想知道我是否在Windows上 - 我的浏览器插件最初只支持Windows,因此我不想让用户毫无意义地下载EXE / MSI安装程序。

我认为你可以在不使用JS的情况下做一些这样的事情...我已经看到了古怪的条件HTML来检测旧书IIRC中的IE。

3 个答案:

答案 0 :(得分:3)

您可以为您的网站创建隐藏的下载链接和备用样式表,并使用条件评论在它们之间切换:

<!--[if IE 6]>
<link rel="stylesheet" type="text/css" href="ie.css" />
<![endif]-->

在该样式表中,普通浏览器会看到:

#download
{
  display: none;
}

但在特殊ie.css样式表中,您可以将其显示为:

#download
{
  display: block !important;
}

如果您想使用JavaScript all ,请尝试以下功能:

if (navigator.appVersion.indexOf('Win') != -1 && /MSIE (\d+\.\d+);/.test(navigator.userAgent))
{
  var version = new Number(RegExp.$1);

  if (version > 7)
  {
    alert('You are using a compatible browser.');
  }
}

我使用的是Chrome和Linux,所以我无法测试它(而且我懒得切换用户代理字符串)。

答案 1 :(得分:2)

你不能用navigator.platform来检查吗? 所以喜欢if(navigator.platform ==等等)它是如此。

烨: http://www.w3schools.com/jsref/prop_nav_platform.asp

答案 2 :(得分:0)

如果你没有使用javascript,我唯一能想到的就是利用IE Conditional comments,但即便如此,这只会让你包含/排除一些javascript或css。

如果您真的想了解操作系统,浏览器等,可以尝试解析用户代理字符串。它报告浏览器,操作系统和其他值,但它不可靠(例如,您可以伪造字符串)。 Quirksmode具有检测浏览器和操作系统的良好功能。