我已经看到了许多关于使用 JS 来获取有关操作系统的详细信息的问题。但我只想知道我是否在 Windows 上 - 我的浏览器插件最初将仅支持 Windows,所以我不想让用户毫无意义地下载 EXE/MSI 安装程序。
我认为你可以在不使用 JS 的情况下做一些这样的事情......我已经看到奇怪的条件 HTML 来检测旧书 IIRC 中的 IE。
我已经看到了许多关于使用 JS 来获取有关操作系统的详细信息的问题。但我只想知道我是否在 Windows 上 - 我的浏览器插件最初将仅支持 Windows,所以我不想让用户毫无意义地下载 EXE/MSI 安装程序。
我认为你可以在不使用 JS 的情况下做一些这样的事情......我已经看到奇怪的条件 HTML 来检测旧书 IIRC 中的 IE。
您可以为您的站点创建隐藏的下载链接和备用样式表,并使用条件注释在它们之间切换:
<!--[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,所以我无法测试它(我懒得切换用户代理字符串)。
不能用navigator.platform来查吗?就像 if (navigator.platform == 不管) 一样。
如果您不使用 javascript,我唯一能想到的就是利用IE Conditional comments,但即便如此,这也只会让您包含/排除一些 javascript 或 css。
如果你真的想知道操作系统、浏览器等,你可以尝试解析用户代理字符串。它报告浏览器、操作系统和其他值,但不可靠(例如,您可以伪造字符串)。Quirksmode有很好的检测浏览器和操作系统的功能。