分享

js获取用户的操作系统和浏览器版本的方法

 程序猿之家 2016-01-12

js获取用户的操作系统和浏览器版本的方法

 
摘自:http://blog.163.com/yhwwen@126/blog/static/17046885320136173628548/
今天有个需求,要获取当前用户的操作系统和浏览器版本。也趁这这个契机,记录下来,以便以后用到,代码如下:
	var getOSAndBrowser = function(){
var os = navigator.platform;
var userAgent = navigator.userAgent;
var info = "";
var tempArray = "";
if(os.indexOf("Win") > -1){
if(userAgent.indexOf("Windows NT 5.0") > -1){
info += "Win2000";
}else if(userAgent.indexOf("Windows NT 5.1") > -1){
今天有个需求,要获取当前用户的操作系统和浏览器版本。也趁这这个契机,记录下来,以便以后用到,代码如下:
	var getOSAndBrowser = function(){
var os = navigator.platform;
var userAgent = navigator.userAgent;
var info = "";
var tempArray = "";
if(os.indexOf("Win") > -1){
if(userAgent.indexOf("Windows NT 5.0") > -1){
info += "Win2000";
}else if(userAgent.indexOf("Windows NT 5.1") > -1){
info += "WinXP";
}else if(userAgent.indexOf("Windows NT 5.2") > -1){
info += "Win2003";
}else if(userAgent.indexOf("Windows NT 6.0") > -1){
info += "WindowsVista";
}else if(userAgent.indexOf("Windows NT 6.1") > -1 || userAgent.indexOf("Windows 7") > -1){
info += "Win7";
}else if(userAgent.indexOf("Windows 8") > -1){
info += "Win8";
}else{
info += "Other";
}
}else if(os.indexOf("Mac") > -1){
info += "Mac";
}else if(os.indexOf("X11") > -1){
info += "Unix";
}else if(os.indexOf("Linux") > -1){
info += "Linux";
}else{
info += "Other";
}
info += "/";
if(/[Ff]irefox(\/\d+\.\d+)/.test(userAgent)){
tempArray = /([Ff]irefox)\/(\d+\.\d+)/.exec(userAgent);
info += tempArray[1] + tempArray[2];
}else if(/MSIE \d+\.\d+/.test(userAgent)){
tempArray = /MS(IE) (\d+\.\d+)/.exec(userAgent);
info += tempArray[1] + tempArray[2];
}else if(/[Cc]hrome\/\d+/.test(userAgent)){
tempArray = /([Cc]hrome)\/(\d+)/.exec(userAgent);
info += tempArray[1] + tempArray[2];
}else if(/[Vv]ersion\/\d+\.\d+\.\d+(\.\d)* *[Ss]afari/.test(userAgent)){
tempArray = /[Vv]ersion\/(\d+\.\d+\.\d+)(\.\d)* *([Ss]afari)/.exec(userAgent);
info += tempArray[3] + tempArray[1];
}else if(/[Oo]pera.+[Vv]ersion\/\d+\.\d+/.test(userAgent)){
tempArray = /([Oo]pera).+[Vv]ersion\/(\d+)\.\d+/.exec(userAgent);
info += tempArray[1] + tempArray[2];
}else{
info += "unknown";
}
return info;
};


代码比较简单,就是一些if..else if...else语句,但用到大量的正则,因为只在win7运行过,不知道其他的操作系统,navigator.userAgent会不会变化,如果大家在不同操作系统中使用,遇到麻烦,可以留言,我会改进

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多