ie10-ie11 버전 문제로 document.all 판단이 더 이상 지원되지 않아 ie 판단 기능을 다시 작성해야 합니다
function isIE() { //ie?
if (!!window.ActiveXObject || "ActiveXObject" in window)
return true;
else
return false;
}
로그인 후 복사
첫 번째 유형은 버전에 관계없이 브라우저만 구별합니다.
함수 myBrowser(){
var userAgent = navigator.userAgent; //브라우저의 userAgent 문자열 가져오기
var isOpera = userAgent.indexOf("Opera") >
If (isOpera) {
"오페라" 반환
}; //오페라 브라우저인지 확인
If (userAgent.indexOf("Firefox") > -1) {
"FF"를 반환합니다.
} //Firefox 브라우저인지 확인
If (userAgent.indexOf("Chrome") > -1){
"Chrome"을 반환합니다.
}
If (userAgent.indexOf("Safari") > -1) {
"Safari"를 반환합니다.
} //Safari 브라우저인지 확인
If (userAgent.indexOf("호환 가능") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
"IE"를 반환합니다.
}; //IE 브라우저인지 확인
}
//위 함수를 호출하는 방법은 다음과 같습니다
var mb = myBrowser();
if ("IE" == mb) {
Alert("나는 IE입니다");
}
if ("FF" == mb) {
Alert("나는 Firefox입니다");
}
if ("크롬" == mb) {
warning("나는 크롬입니다");
}
if ("오페라" == mb) {
Alert("나는 오페라입니다");
}
if ("사파리" == mb) {
Alert("나는 사파리입니다");
}
둘째, 브라우저를 구분하고 IE5.5 6 7 8을 고려하세요
코드 복사 코드는 다음과 같습니다.
함수 myBrowser(){
var userAgent = navigator.userAgent; //브라우저의 userAgent 문자열 가져오기
var isOpera = userAgent.indexOf("Opera") > -1 Opera 브라우저인지 확인
var isIE = userAgent.indexOf(" Compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //IE 브라우저 여부 확인
var isFF = userAgent.indexOf("Firefox") > //Firefox 브라우저인지 확인
var isSafari = userAgent.indexOf("Safari") > -1 Safari 브라우저인지 확인
만약 (isIE) {
var IE5 = IE55 = IE6 = IE7 = IE8 = 거짓;
var reIE = new RegExp("MSIE (\d \.\d );");
reIE.test(userAgent);
var fIEVersion =parseFloat(RegExp["$1"]);
IE55 = fIEVersion == 5.5;
IE6 = fIEVersion == 6.0;
IE7 = fIEVersion == 7.0;
IE8 = fIEVersion == 8.0;
만약 (IE55) {
"IE55"를 반환합니다.
}
만약 (IE6) {
"IE6"을 반환합니다.
}
만약 (IE7) {
"IE7"을 반환합니다.
}
만약 (IE8) {
"IE8"을 반환합니다.
}
}//IE 끝
만약 (isFF) {
"FF"를 반환합니다.
}
If (isOpera) {
"오페라"를 반환합니다.
}
}//myBrowser() 끝
//위 함수를 호출하는 방법은 다음과 같습니다
if (myBrowser() == "FF") {
Alert("나는 Firefox입니다");
}
if (myBrowser() == "오페라") {
Alert("나는 오페라입니다");
}
if (myBrowser() == "사파리") {
Alert("나는 사파리입니다");
}
if (myBrowser() == "IE55") {
Alert("나는 IE5.5입니다");
}
if (myBrowser() == "IE6") {
Alert("나는 IE6입니다");
}
if (myBrowser() == "IE7") {
Alert("나는 IE7입니다");
}
if (myBrowser() == "IE8") {
Alert("나는 IE8입니다");
}
다음은 현재 브라우저가 IE인지 판단하는 JS 코드입니다.
IE와 표준 브라우저의 배열 처리 방식인 toString의 차이점을 활용하여 만든 원리입니다. 표준 브라우저의 경우 배열의 마지막 문자가 쉼표이면 JS 엔진이 자동으로 이를 제거합니다.
]<script>
var ie = !-[1,];
alert(ie);
</script>