Cla*_*Boy 6 javascript jquery browser-detection
我过去几个月一直在为我的公司编写用户脚本,并且刚刚为我的公司设计了主要网站的安装说明(我们的员工遍布世界各地,很少有人听说过用户脚本,更不用说使用它们了,所以这个前端意味着减少我花在支持脚本上的时间).
我想要做的是,在安装页面上,检测他们正在使用哪个浏览器和OS/OS版本,以便我可以突出显示比其余部分稍暗的最相关指令,或者根本不显示不相关的部分.
例如,对于IE6,您必须使用Trixie(我相信)来安装用户脚本,这仅在Win XP上受支持.Win XP支持IE7,Win XP和Win 7支持IE8,Win 7仅支持IE9.对于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/,但这不提供操作系统版本,只提供操作系统.我已经尝试循环遍历导航器对象中存储的所有变量但没有成功.任何帮助将不胜感激.
编辑:感谢Nates的回答,我已将确切的代码放在http://jsfiddle.net/Mu8r5/1/上.我希望这可以帮助将来的某个人.
Nat*_*lam 23
您最好的选择是使用navigator.userAgent属性.它将给出Windows版本号.您可以在此处查看Windows版本号映射到操作系统的表格:
以下是一些示例检测代码:
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) {
...
}
Run Code Online (Sandbox Code Playgroud)
您可以使用这个优秀的JavaScript库:http://www.visitorjs.com/details它最近是开源的
编辑:实际上,它现在重命名为session.js http://github.com/codejoust/session.js,据我所知,这是你能得到的最好的.
| 归档时间: |
|
| 查看次数: |
33556 次 |
| 最近记录: |