본문 바로가기
javaScript/J Query & 스크립트

javaScript 브라우저 IE(익스플로러) 체크 + IE11 포함

by mooyou 2022. 4. 22.
728x90
300x250

 

 

ie(익스플로러) 버전 체크는 아래처럼 MSIE 문자열을 이용하면 된다.

navigator.userAgent.indexOf("MSIE") > 0

 

if(/MSIE/.test(navigator.userAgent)) {
	if(navigator.userAgent.indexOf("MSIE") > 0) {
    	console.log('ie');
    } else {
    	console.log('ie10');
    } 
} else {
    	console.log('etc');
}

ie10 이하 버전은 콘솔 창에 ie가 ie10 버전은 ie10이 표출된다. 그리고 etc는 ie 이외의 다른 브라우저들이 나타나야 하지만 ie11도 else로 걸러지게 된다.

그 이유는 MS가 IE11부터 웹표준에 맞추기 위해 User Agent String의 리턴 값을 변경했기 때문이다.

따라서 IE11에서 navigator.userAgent()의 리턴값 'mise'가 없기 때문에 ie가 아닌 다른 브라우저와 구별이 안된다.

 

그렇기 때문에 ie / 그 외 브라우저 이렇게 나누어 처리를 해야 할 경우 코드를 수정해야 한다.

현재 버전이 11 이하인 경우 브라우저 체크하는 방법은 아래와 같이 변경하면 IE11을 구별해줄 수 있다.

(navigator.appName == 'Netscape' && navigator.userAgent.search('Trident') != -1)

여기에 전체 IE를 구별 해주기 위해서 위에 사용했던 MSIE를 추가해준다.

if(navigator.appName == 'Netscape' && navigator.userAgent.search('Trident') != -1 || navigator.userAgent.indexOf("MSIE") != -1) {
	//IE6.0 ~ IE11
    console.log('ie');
} else {
	//그 외 브라우저
    console.log('etc');
}

 

728x90
반응형

댓글