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
반응형
'javaScript > J Query & 스크립트' 카테고리의 다른 글
javaScript 데이터 타입 확인하기 (0) | 2022.04.26 |
---|---|
콜백함수 사용법 (0) | 2022.04.25 |
매개변수 값을 함수로 사용하기 예제 (0) | 2022.04.17 |
break return 차이점 (0) | 2022.04.16 |
[javaScript] 리턴값 이란? return문 사용하기 (0) | 2022.04.15 |
댓글