[javascript] IE6인지 판단하는 자바스크립트
코덕질/해탈내역들 2009/01/05 13:50
제 블로그 같은 경우에는 텍스트큐브 스킨을 뜯기 위해서 CSS파일을 다른 css파일로 대체시켜서 읽는 자바스크립트를 사용하였는데, 이 자바스크립트는 IE6에서 작동하지를 않습니다. 그래서 제가 개발한 소스입니다.
원리는 자바스크립트 기본 클래스 navigator의 브라우저 정보가 들어있는 userAgent값을 읽어서 MSIE 6이라는 문자열이 들어있느냐(indexOf함수에서 값이 없을 경우 return -1을 합니다)를 판단하는 건데, 가끔씩 IE7에서 MSIE 6이라는 문자열을 포함하기도 하기 때문에 MSIE 7이 들어있느냐의 여부를 검사하게 되는 겁니다.
이것을 응용하면 IE버전을 확인하는 자바스크립트나 IE버전에 따라서 처리를 달리 하는 자바스크립트를 만들 수도 있습니다 ^^
<script language="javascript">
var useragent = navigator.userAgent;
// IE7이 아니고 IE6일때는
if ((useragent.indexOf('MSIE 6')>0) && (useragent.indexOf('MSIE 7')==-1))
{
// IE6일때 적용할 소스코드를 입력한다
} else {
// IE6이 아닐때 적용할 소스코드를 입력한다
}
</script>
var useragent = navigator.userAgent;
// IE7이 아니고 IE6일때는
if ((useragent.indexOf('MSIE 6')>0) && (useragent.indexOf('MSIE 7')==-1))
{
// IE6일때 적용할 소스코드를 입력한다
} else {
// IE6이 아닐때 적용할 소스코드를 입력한다
}
</script>
원리는 자바스크립트 기본 클래스 navigator의 브라우저 정보가 들어있는 userAgent값을 읽어서 MSIE 6이라는 문자열이 들어있느냐(indexOf함수에서 값이 없을 경우 return -1을 합니다)를 판단하는 건데, 가끔씩 IE7에서 MSIE 6이라는 문자열을 포함하기도 하기 때문에 MSIE 7이 들어있느냐의 여부를 검사하게 되는 겁니다.
이것을 응용하면 IE버전을 확인하는 자바스크립트나 IE버전에 따라서 처리를 달리 하는 자바스크립트를 만들 수도 있습니다 ^^

댓글을 달아 주세요
유용하지만 쓸 일이 없을 것 같은..ㅠ.ㅠ
헣, 제 블로그같은 경우에는 CSS파일이 IE6에서 깨져버려서 카엘님이나 루에님같은 분들이 엄청난 사이즈의 글씨를 봐야 한다는 고통(?)을 호소하고 계셔서 30분간 삽질 끝에 고안한 거랍니다.
어차피 2010년에 윈도우7나오면
IE8나올텐데...(퍽!)
그래도 IE6의 절대적인 힘이란 허어러겋어헝허 ㅠㅠ
음.. css 뜯었다가 엄청난 글자의 물량앞에 좌절하고 건들지 않았는데.. ie6 아직도 쓰는 저같은 사람으로선참고할 만 하겠네요(이전에 이해불가)
역시 IE6쓰시는 분이 아직 계시는군요 -_-;.. 자바스크립트 안 썼더라면 아마 엄청난 글씨의 크리가 ㅋㅋ;
ie6 유저 activeX 설치하게 한다음 바이러스걸리게할거임
ㅋㅋㅋㅋㅋㅋㅋㅋ
ie6유저분들께 FF를 전도해보세요.
그분들은 게임만 하느라 '대한게임제국 온라인 게임 표준'에 부합하지 않는 FF를 외면하십니다.
저희집도 IE6&FF3..
저는 파폭3를 쓰지만 가족들이 IE를 써요.
왜 버전업을 안하느냐 하면, 컴퓨터 사양이 그리 좋지도 않은데..
넘어가면 감당할 수 없을것 같거든요.
음.. 저도 IE6 + FF3만 썼는데 자바스크립트를 공부하다 보니까 IE6이 워낙에 자바스크립트를 읽지를 못합니다 정말로 -_-... 그런데도 수많은 유저들이 쓰다 보니까 어쩔수 없이 디버깅을 위해 버전업을 했다죠 ;;
비밀댓글입니다
ㅎㅎ.. 저도 자리잡은 것으로는 5개월에 불과한 블로거입니다 ^^... 반갑습니다 :)
저는 PPC는 제외시키고 있지요...
(useragent.indexOf('PPC')==-1)
헤더에 IE6이 포함됐지만 PC IE6하곤 좀 다르기도 하고...
오호~ 그렇군요 :). PPC가 뭔지도 몰랐기 때문에..
참조하겠습니다~