팡이네

사용자 웹 브라우저 및 버전 확인

function getBrowserInfo(opt) {
	var ua = navigator.userAgent.toLowerCase();
	
	if (ua.indexOf('android') > -1) return 'Android';
	else if (ua.match(/iphone|ipad|ipot/)) return 'iOS';
	
	if (navigator.appName == 'Microsoft Internet Explorer') {
		if (opt == 'n') return 'Explorer';
		else {
			var re = new RegExp('msie ([0-9]{1,}[\\.0-9]{0,})');
			if (re.exec(ua) !== null) {
				if (opt == 'v')
					return parseInt(RegExp.$1);
				else
					return 'Explorer '+ parseInt(RegExp.$1);
			}
		}
	}
	else if (ua.indexOf('trident') != -1 && navigator.product == 'Gecko') { //IE 11 above
		if (opt == 'n') return 'Explorer';
		else {
			var re = new RegExp('trident/.*rv:([0-9]{1,}[\.0-9]{0,})');
			if (re.exec(ua) != null) {
				if (opt == 'v')
					return parseInt(RegExp.$1);
				else
					return 'Explorer '+ parseInt(RegExp.$1);
			}
		}
	}
	else if (/edge/.test(ua)) {
		if (opt == 'n') return 'Edge';
		else {
			if (opt == 'v')
				return parseInt(/edge\/([\d\.]+)/.exec(ua)[1]);
			else
				return 'Edge '+ parseInt(/edge\/([\d\.]+)/.exec(ua)[1]);
		}
	}
	else if (/chrome/.test(ua)) {
		if (opt == 'n') return 'Chrome';
		else {
			if (opt == 'v')
				return parseInt(/chrome\/([\d\.]+) safari/.exec(ua)[1]);
			else
				return 'Chrome '+ parseInt(/chrome\/([\d\.]+) safari/.exec(ua)[1]);
		}
	}
	else if (/firefox/.test(ua)) {
		if (opt == 'n') return 'FireFox';
		else {
			if (opt == 'v')
				return parseInt(/firefox\/([\d\.]+)/.exec(ua)[1]);
			else
				return 'FireFox '+ parseInt(/firefox\/([\d\.]+)/.exec(ua)[1]);
		}
	}
	else if (/safari/.test(ua)) {
		if (opt == 'n') return 'Safari';
		else {
			if (opt == 'v')
				return parseInt(/version\/([\d\.]+) safari/.exec(ua)[1]);
			else
				return 'Safari '+ parseInt(/version\/([\d\.]+) safari/.exec(ua)[1]);
		}
	}
	
	return 'Other';
}

getBrowserInfo('n');	//웹 브라우저 이름
getBrowserInfo('v');	//웹 브라우저 버전
getBrowserInfo();		//웹 브라우저 이름 + 버전

'Javascript & JQuery' 카테고리의 다른 글

체크박스 전체 선택 및 해제  (0) 2016.04.01
입력 데이터가 제대로 된 날짜인지 검사  (0) 2016.04.01
숫자 키입력 검사  (0) 2016.04.01