浏览器用户代理检测

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
	};
}();


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值