이 팁은 아주 옛날에 제가 소개했던 팁 중 일부입니다. (http://phpschool.com/link/tipntech/65788)
근데 안타깝게도 지금은 다른 브라우저에 스크립트는 잘 안먹히는데 IE는 명불허전 잘먹히기 때문에
오늘은 IE 구분하는 팁을 알리고자 올립니다.
저는 크게 IE 9 이상과 미만으로 나누고 있습니다.
왜냐? 브라우저 엔진부터 틀리기 때문입니다. IE 8 이하에서 쓰는 트라이던트와 9 이상에서 쓰는 트라이던트 엔진 차이가 엄청나기 때문이죠.
자바스크립트의 경우 8까지는 윈도우 JScript 에 있는 엔진을 사용하지만 9부터는 브라우저 엔진에 자체적으로 담아 사용하기 때문입니다. 렌더링과 속도 면에서 당연히 차이가 있죠. IE 9부터 마소가 정신 이제 슬슬 차리기 시작했지만 제가 보기엔 모질라재단이 모질라 브라우저를 파이어폭스로 바꾸기 시작한 꼴과 다를 거 없어 보입니다.
그래도 나름 뭐 정신은 차린거죠.
그럼 시작할까요?
근데 안타깝게도 지금은 다른 브라우저에 스크립트는 잘 안먹히는데 IE는 명불허전 잘먹히기 때문에
오늘은 IE 구분하는 팁을 알리고자 올립니다.
저는 크게 IE 9 이상과 미만으로 나누고 있습니다.
왜냐? 브라우저 엔진부터 틀리기 때문입니다. IE 8 이하에서 쓰는 트라이던트와 9 이상에서 쓰는 트라이던트 엔진 차이가 엄청나기 때문이죠.
자바스크립트의 경우 8까지는 윈도우 JScript 에 있는 엔진을 사용하지만 9부터는 브라우저 엔진에 자체적으로 담아 사용하기 때문입니다. 렌더링과 속도 면에서 당연히 차이가 있죠. IE 9부터 마소가 정신 이제 슬슬 차리기 시작했지만 제가 보기엔 모질라재단이 모질라 브라우저를 파이어폭스로 바꾸기 시작한 꼴과 다를 거 없어 보입니다.
그래도 나름 뭐 정신은 차린거죠.
그럼 시작할까요?
먼저 'v'=='\v' 요놈은 IE 9가 나오기 전까지는 IE를 구분하는 혁명적인(?) 구문이었습니다.
하지만 IE9가 나오면서 위 식은 먹혀들지 않게 되었죠.
하지만 지금도 IE 8 이하에서는 위 식이 유효하기 때문에, IE 8 이하인지 체크하는 방법으로 유용할 것입니다.
그러면 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'
IE 전체이면 true : !+"\v1"
IE 8 이하이면 true : 'v'=='\v'
IE 9 인데 쿼크 모드면 true : 'v'=='\v'
모든 브라우저 통틀어서 쿼크 모드면 true : document.compatMode != 'CSS1Compat'
이런 등등.
이제 언젠가 이 엿같은 브라우저 구분을 하지 않았으면 좋겠습니다만...................
제가 위지윅 에디터 스크립트 꾸미면서 깨달았습니다.
HTML5 표준 완성되도.. 브라우저 구분은 해야겠습니다..ㅋㅋ
어쩔 수가 없네ㅤㅇㅛㅋㅋ
HTML5 표준 완성되도.. 브라우저 구분은 해야겠습니다..ㅋㅋ
어쩔 수가 없네ㅤㅇㅛㅋㅋ
게시글 목록
| 번호 | 제목 |
|---|---|
| 12333 |
JavaScript
한글만 되게 하는 자바스크립트 입니다.
|
| 12332 |
JavaScript
간단한 팝업창 중앙에 띄우기 입니다.
|
| 12331 |
JavaScript
2단계 드롭다운 레이어 메뉴 입니다.
|
| 12329 |
JavaScript
동적 막대그래프
1
|
| 12328 |
JavaScript
간단한 위로가기 자바스크립트 입니다.
|
| 12327 |
JavaScript
따라다니는 link 퀵메뉴 입니다.
|
| 12326 |
JavaScript
글씨의 색을 자동으로 변환시켜주는 자바스크립트 입니다.
|
| 12325 |
JavaScript
인스타그램 사진가져오기
|
| 12324 |
jQuery
checkedbox 컨트롤
|
| 12323 |
jQuery
radio 컨트롤
|
| 12322 |
jQuery
select box 컨트롤
|
| 12321 | |
| 12320 |
node.js
Node.js - 실시간 위치 추적 (2)
|
| 12319 | |
| 12318 |
JavaScript
특정 이메일 입력 금지및 이메일 유효성 검사하기 입니다.
|
| 12317 |
JavaScript
마우스 오버시 그림 변하게 하는 자바스크립트 입니다
|
| 12316 |
JavaScript
시작과 멈춤이 가능한 스크롤 텍스트 입니다.
|
| 12315 |
JavaScript
이미지 없이 라운딩 박스 + 보더 표현하기 입니다.
|
| 12314 |
JavaScript
Trim 함수 자바스크립트로 사용하기 입니다.
|
| 12313 |
JavaScript
실제 이미지 크기 알아내기 입니다.
|
| 12312 |
JavaScript
present 자바스크립트 입니다.
|
| 12311 |
JavaScript
이미지 미리 로딩시켜놓기 입니다.
|
| 12310 |
JavaScript
다각형 이미지슬라이드쇼 자바스크립트 입니다.
|
| 12309 |
JavaScript
가운데 정렬된 홈페이지에서 따라다니는 레이어 자바스크립트 입니다.
|
| 12308 |
JavaScript
클릭시 펼쳐지는 메뉴 입니다.
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기