首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery -检测操作系统和操作系统版本

jQuery -检测操作系统和操作系统版本
EN

Stack Overflow用户
提问于 2012-01-08 09:09:21
回答 3查看 34.5K关注 0票数 7

在过去的几个月里,我一直在为我的公司写一个用户脚本,并且刚刚为它设计了一个带有安装说明的主站点(我们的员工分布在世界各地,很少有人听说过用户脚本,更不用说使用它们了,所以这个前端意味着减少我花在支持脚本上的时间)。

我想要做的是,在安装页面上,检测他们正在使用的浏览器和OS / OS版本,这样我就可以突出显示最相关的说明,比其他说明稍微暗一些,或者干脆不显示不相关的部分。

例如,对于IE6,您必须使用Trixie (我相信)来安装用户脚本,这只在Win XP上受支持。Win XP支持IE7,Win XP和Win 7支持IE8,IE9仅在Win 7上支持。对于IE7、8和9,我建议使用IEPro。Trixie和IEPro之间的不同之处在于,Trixie需要文件扩展名.user.js,该文件扩展名必须保存在C:/Program Files/bhelpuri中。另一方面,IEPro要求扩展名为.ieuser,并保存到不同的位置。特别是对于IE,我想要检测版本并只显示正确的链接( .user.js或.ieuser,这取决于他们当前浏览器应该使用的插件),以便将他们带到该浏览器的文件的正确版本,以及该OS / OS版本的正确保存路径。到目前为止,这有什么意义吗?

基本上我的问题是,有没有人知道检测操作系统版本的方法?我目前使用的是http://www.stoimen.com/blog/2009/07/04/jquery-os-detection/,但它不提供操作系统版本,只提供操作系统版本。我尝试了遍历存储在navigator对象中的所有变量,但没有成功。任何帮助都将不胜感激。

编辑:多亏了Nates answer,我把确切的代码放在了http://jsfiddle.net/Mu8r5/1/上。我希望这对将来的某个人有所帮助。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-08 09:45:36

最好的方法是使用navigator.userAgent属性。它会给出windows的版本号。您可以在此处查看Windows版本号如何映射到操作系统的表:

OSVERSIONINFO

下面是一些检测代码示例:

代码语言:javascript
复制
var os = (function() {
    var ua = navigator.userAgent.toLowerCase();
    return {
        isWin2K: /windows nt 5.0/.test(ua),
        isXP: /windows nt 5.1/.test(ua),
        isVista: /windows nt 6.0/.test(ua),
        isWin7: /windows nt 6.1/.test(ua),
        isWin8: /windows nt 6.2/.test(ua),
        isWin81: /windows nt 6.3/.test(ua)
    };
}());

if(os.isWin7) {
    ...
}

http://jsfiddle.net/45jEc/

票数 24
EN

Stack Overflow用户

发布于 2012-01-08 09:15:43

您可以使用这个很棒的javascript库:http://www.visitorjs.com/details它最近是开源的

编辑:实际上,它现在被重新命名为session.js http://github.com/codejoust/session.js,据我所知,这是你能得到的最好的。

票数 5
EN

Stack Overflow用户

发布于 2012-01-08 09:13:57

堆栈溢出问题Detect exact OS version from browser进入了一些有趣的细节,关于从用户代理头获取操作系统版本,我相信它包含了可以从JavaScript访问的相同信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8774560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档