컴

IE 구분하기

· 2013-11-23 (토) 11:04:23 · 4002
이 팁은 아주 옛날에 제가 소개했던 팁 중 일부입니다. (http://phpschool.com/link/tipntech/65788)
근데 안타깝게도 지금은 다른 브라우저에 스크립트는 잘 안먹히는데 IE는 명불허전 잘먹히기 때문에
오늘은 IE 구분하는 팁을 알리고자 올립니다.
저는 크게 IE 9 이상과 미만으로 나누고 있습니다.
왜냐? 브라우저 엔진부터 틀리기 때문입니다. IE 8 이하에서 쓰는 트라이던트와 9 이상에서 쓰는 트라이던트 엔진 차이가 엄청나기 때문이죠.
자바스크립트의 경우 8까지는 윈도우 JScript 에 있는 엔진을 사용하지만 9부터는 브라우저 엔진에 자체적으로 담아 사용하기 때문입니다. 렌더링과 속도 면에서 당연히 차이가 있죠. IE 9부터 마소가 정신 이제 슬슬 차리기 시작했지만 제가 보기엔 모질라재단이 모질라 브라우저를 파이어폭스로 바꾸기 시작한 꼴과 다를 거 없어 보입니다.
그래도 나름 뭐 정신은 차린거죠.
그럼 시작할까요?
먼저 'v'=='\v' 요놈은 IE 9가 나오기 전까지는 IE를 구분하는 혁명적인(?) 구문이었습니다.
하지만 IE9가 나오면서 위 식은 먹혀들지 않게 되었죠.
하지만 지금도 IE 8 이하에서는 위 식이 유효하기 때문에, IE 8 이하인지 체크하는 방법으로 유용할 것입니다.
그러면 IE 전체를 통틀어 구분하는 스크립트가 뭐냐.
!+"\v1"
이겁니다. 이녀석은 IE 전체 버전에서 먹힙니다. \v 는 IE에서 수직 공백 문자로 먹힌다고 하는데, 수직 공백으로 된 1 문자를 숫자로 변환은 가능하다 하더군요.
그렇다면 다음의 경우를 생각할 수 있습니다.
IE 전체이면 true : !+"\v1"
IE 8 이하이면 true : 'v'=='\v'
IE 9 인데 쿼크 모드면 true : 'v'=='\v'
모든 브라우저 통틀어서 쿼크 모드면 true : document.compatMode != 'CSS1Compat'
이런 등등.
이제 언젠가 이 엿같은 브라우저 구분을 하지 않았으면 좋겠습니다만...................
제가 위지윅 에디터 스크립트 꾸미면서 깨달았습니다.
HTML5 표준 완성되도.. 브라우저 구분은 해야겠습니다..ㅋㅋ
어쩔 수가 없네ㅤㅇㅛㅋㅋ

첨부파일

IE 구분하기.txt (1.7 KB) 29회 2013-11-23 11:04
|
댓글을 작성하시려면 로그인이 필요합니다.

개발자팁

5,403건

개발과 관련된 유용한 정보를 공유하세요. 질문은 QA에서 해주시기 바랍니다.

+
분류 제목 글쓴이 날짜 조회
jQuery 14-03-30 조회 4,443
PHP 14-03-25 조회 8,153
PHP 14-03-25 조회 4,368
jQuery 14-03-23 조회 1.5만
MySQL 14-03-17 조회 1.6만
PHP 14-03-12 조회 4,241
PHP 14-03-12 조회 8,079
JavaScript 14-03-03 조회 3,587
JavaScript 14-02-25 조회 1만
PHP 14-02-24 조회 7,090
JavaScript 14-02-14 조회 6,504
JavaScript 14-02-13 조회 5,743
jQuery 14-02-12 조회 3,494
기타 14-01-10 조회 6,086
JavaScript 14-01-03 조회 5,727
웹서버 14-01-03 조회 5,056
웹서버 14-01-03 조회 1.3만
OS 14-01-03 조회 5,144
PHP 13-12-27 조회 3,962
기타 13-12-09 조회 3,571
JavaScript 13-12-06 조회 4,212
기타 13-11-23 조회 5,287
기타 13-11-23 조회 4,003
기타 13-11-23 조회 4,144
기타 13-11-23 조회 3,668
JavaScript 13-11-22 조회 6,335
기타 13-11-18 조회 4,344
PHP 13-11-18 조회 4,047
PHP 13-11-18 조회 1.4만
JavaScript 13-11-18 조회 3,675