`
aasonwu
  • 浏览: 34500 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

浏览器用户代理检测

 
阅读更多
var client=function(){
	//呈现引擎
	var engine={
			ie:0,
			gecko:0,
			webkit:0,
			khtml:0,
			opera:0,
			ver:null
	};
	//浏览器
	var browser={
			//主要浏览器
			ie:0,
			firefox:0,
			safari:0,
			konq:0,
			opera:0,
			chrome:0,
			//具体版本
			ver:null
	};
	//平台,设备和操作系统
	var system={
			win:false,
			win_ver:null,
			max:false,
			x11:false,
			//移动设备
			iphone:false,
			ipod:false,
			ipad:false,
			ios:false,
			android:false,
			nokiaN:false,
			winMobile:false,
			//游戏系统
			wii:false,
			ps:false
	};
	//测试呈现引擎和浏览器
	var ua=navigator.userAgent;
	if(window.opera){
		engine.ver=browser.ver=window.opera.version();
		engine.opera=browser.opera=parseFloat(engine.ver);
	}else if(/AppleWebkit/(S+)/.test(ua)){
		engine.ver=RegExp["$1"];
		engine.webkit=parseFloat(engine.ver);
		if(/Chrome/(S+)/.test(ua)){
			browser.ver=RegExp["$1"];
			browser.chrome=parseFloat(browser.ver);
		}else if(/Version/(S+)/.test(ua)){
			browser.ver=RegExp["$1"];
			browser.safari=parseFloat(browser.ver);
		}else {
			var safariVersion=1;
			if(engine.webkit<100){
				safariVersion=1;
			}else if(engine.webkit<312){
				safariVersion=1.2;
			}else if(engine.webkit<412){
				safariVersion=1.3;
			}else{
				safariVersion=2;
			}
			browser.safari=browser.ver=safariVersion;
		}
	}else if(/KHTML/(S+)/.test(ua) || /Konqueror/([^;]+)/.test(ua)){
		engine.ver=browser.ver=RegExp["$1"];
		engine.khtml=browser.konq=parseFloat(engine.ver);
	}else if(/rv:([^)]+)) Gecko/d{8}/.test(ua)){
		engine.ver=RegExp["$1"];
		engine.gecko=parseFloat(engine.ver);
		//确定是不是firefox
		if(/Firefox/(S+)/.test(ua)){
			browser.ver=RegExp["$1"];
			browser.firefox=parseFloat(engine.ver);
		}
	}else if(/MSIE ([^;]+)/.test(ua)){
		engine.ver=browser.ver=RegExp["$1"];
		engine.ie=browser.ie=parseFloat(engine.ver);
	}
	//检测浏览器
	browser.ie=engine.ie;
	browser.opera=engine.opera;
	
	//检测平台
	var p=navigator.platform;
	system.win=p.indexOf("Win")==0;
	system.max=p.indexOf("Max")==0;
	system.wii=(p=="X11")||(p.indexOf("Linux")==0);
	
	if(system.win){
		if(/Win(?:dows )?([^do]{2})s?(d+.d+)?/.test(ua)){
			if(RegExp["$1"]=="NT"){
				switch (RegExp["$2"]) {
				case "5.0":
					system.win_ver="2000";
					break;
				case "5.1":
					system.win_ver="XP";
					break;
				case "6.0":
					system.win_ver="Vista";
					break;
				case "6.1":
					system.win_ver="7";
					break;
				default:
					system.win_ver="NT";
					break;
				}
			}else if(RegExp["$1"]=="9x"){
				system.win_ver="ME";
			}else {
				system.win_ver=RegExp["$1"];
			}
		}
	}
	return {
		engine:engine,
		browser:browser,
		system:system
	};
}();


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics