3

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

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

4

3 回答 3

3

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

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

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

#download
{
  display: none;
}

但是在特殊ie.css样式表中,您可以使其可见:

#download
{
  display: block !important;
}

如果你想用 JavaScript 来做这一切,试试这个函数:

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,所以我无法测试它(我懒得切换用户代理字符串)。

于 2011-03-03T17:05:30.467 回答
2

不能用navigator.platform来查吗?就像 if (navigator.platform == 不管) 一样。

是的:http : //www.w3schools.com/jsref/prop_nav_platform.asp

于 2011-03-03T17:02:20.180 回答
0

如果您不使用 javascript,我唯一能想到的就是利用IE Con​​ditional comments,但即便如此,这也只会让您包含/排除一些 javascript 或 css。

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

于 2011-03-03T17:06:25.420 回答