LukeHan 의 잡다한 기술 블로그

iOS/Android , browser 체크 본문

개발/javascript

iOS/Android , browser 체크

LukeHan1128 2020. 11. 15. 05:47
반응형

iOS/Android 체크

if( /Android/i.test(navigator.userAgent)) {
	// 안드로이드
} else if (/iPhone|iPad|iPod/i.test(navigator.userAgent)) {
	// iOS 아이폰, 아이패드, 아이팟
} else {
	// 그 외 디바이스
}

 

 

browser 체크1

// 접속 브라우저를 확인합니다(html5 지원하지 않을 경우 경고문을 출력하기 위해 사용)
function isBrowserCheck(){
	var agt = navigator.userAgent.toLowerCase();
	var text = '';

	if ((navigator.appName == 'Netscape' && agt.indexOf('trident') != -1) 
			|| (agt.indexOf("msie") != -1)) 	text = 'Ie';
	else if (agt.indexOf("kakaotalk") != -1)	text = 'kakaotalk';
	else if (agt.indexOf("samsung") != -1)		text = 'Samsung';
	else if (agt.indexOf("ucbrowser") != -1)	text = 'Ucbrowser';
	else if (agt.indexOf("edge/") != -1)		text = 'Edge';
	else if (agt.indexOf("trident") != -1)		text = 'Trident';
	else if (agt.indexOf("opr/") != -1)			text = 'OperaMini';
	else if (agt.indexOf("opr/") != -1)			text = 'Opera';
	else if (agt.indexOf("chrome") != -1)		text = 'Chrome';
	else if (agt.indexOf("staroffice") != -1)	text = 'Star Office';
	else if (agt.indexOf("webtv") != -1)		text = 'WebTV';
	else if (agt.indexOf("beonex") != -1)		text = 'Beonex';
	else if (agt.indexOf("chimera") != -1)		text = 'Chimera';
	else if (agt.indexOf("netpositive") != -1)	text = 'NetPositive';
	else if (agt.indexOf("phoenix") != -1)		text = 'Phoenix';
	else if (agt.indexOf("firefox") != -1)		text = 'Firefox';
	else if (agt.indexOf("safari") != -1)		text = 'Safari';
	else if (agt.indexOf("skipstone") != -1)	text = 'SkipStone';
	else if (agt.indexOf("netscape") != -1)		text = 'Netscape';
	else if (agt.indexOf("mozilla/5.0") != -1)	text = 'Mozilla';
	else 										text = 'other';
	
	/*
	if (agt.indexOf("msie") != -1) { // 익스플로러 일 경우
		var rv = -1;


		if (navigator.appName == 'Microsoft Internet Explorer') {
			var ua = navigator.userAgent;
			var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");

			if (re.exec(ua) != null) rv = parseFloat(RegExp.$1);
		}
		text 'Internet Explorer '+rv;
	}
	*/
	
	return text;
}


if (navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0) {
	var rv = 0;
	var ua = navigator.userAgent;
	var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");


	if (re.exec(ua) != null) rv = parseFloat(RegExp.$1);

	if (rv != 0 && rv <= 8) {
		alert("Internet Explorer 10 부터 지원합니다.\n Internet Explorer를 업그레이드 해주세요.");
	}
}

 

 

browser 체크2

'use strict';
var agent = navigator.userAgent.toLowerCase(),
    name = navigator.appName,
    browser;




// MS 계열 브라우저를 구분하기 위함.
if(name === 'Micr	osoft Internet Explorer' || agent.indexOf('trident') > -1 || agent.indexOf('edge/') > -1) {
    browser = 'ie';
    if(name === 'Microsoft Internet Explorer') { // IE old version (IE 10 or Lower)
        agent = /msie ([0-9]{1,}[\.0-9]{0,})/.exec(agent);
        browser += parseInt(agent[1]);
    } else { // IE 11+
        if(agent.indexOf('trident') > -1) { // IE 11 
            browser += 11;
        } else if(agent.indexOf('edge/') > -1) { // Edge
            browser = 'edge';
        }
    }
} else if(agent.indexOf('safari') > -1) { // Chrome or Safari
    if(agent.indexOf('opr') > -1) { // Opera
        browser = 'opera';
    } else if(agent.indexOf('chrome') > -1) { // Chrome
        browser = 'chrome';
    } else { // Safari
        browser = 'safari';
    }
} else if(agent.indexOf('firefox') > -1) { // Firefox
    browser = 'firefox';
}

 

 

반응형
Comments