javascript - 从 HTML/JS 进行简单的操作系统检查

标签 javascript html browser browser-detection

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

我认为你可以在不使用 JS 的情况下做一些这样的事情......我在旧书 IIRC 中看到过奇怪的条件 HTML 来检测 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,所以无法测试(也懒得切换用户代理字符串)。

关于javascript - 从 HTML/JS 进行简单的操作系统检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5183922/

相关文章:

Javascript 错误 - 无法在未定义上运行 .split

javascript - 从 Python 中的 Node 命令捕获输出

javascript - 使用 HTML5 在本地写入 CSV 文件

php - 哪种方法更有效,是在单引号内使用双引号还是转义单引号?

javascript - RequireJS 中的动态要求,出现 "Module name has not been loaded yet for context"错误?

browser - WP7模拟器浏览器不显示任何内容

c# - 替换 Flash 想要加载的图像

javascript - 如何使用 AWQL 获取 'Hour and day of the week' 报告

javascript - JSLint 错误 : Unexpected '--'

javascript - 为 HTML5 Django 网络应用程序实现实时通知系统