이 팁은 아주 옛날에 제가 소개했던 팁 중 일부입니다. (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 표준 완성되도.. 브라우저 구분은 해야겠습니다..ㅋㅋ
어쩔 수가 없네ㅤㅇㅛㅋㅋ
게시글 목록
| 번호 | 제목 |
|---|---|
| 12438 |
JavaScript
배경음악 랜덤 재생 하기 입니다.
|
| 12437 |
JavaScript
css 지원 여부 확인해서 다른 페이지로 이동하기 입니다.
|
| 12436 |
JavaScript
하부메뉴가 보였다가 숨겨졌다 하는 토글버튼 입니다.
|
| 12435 |
JavaScript
개별 페이지에 인덱스로 거쳐 들어오게 하기 입니다.
|
| 12434 |
JavaScript
랜덤으로 이미지 출력 되기 입니다.
|
| 12433 |
JavaScript
사용자 해상도 알아내기 입니다.
|
| 12432 |
JavaScript
붙여넣기 금지하기 입니다.
|
| 12431 |
MySQL
대소문자 데이터 조회하기
|
| 12430 |
JavaScript
퇴장시 팝업창 한번한 띄우기 입니다.
|
| 12429 | |
| 12428 |
PHP
신문 기사를 긁어오기 입니다.
|
| 12427 |
JavaScript
시도, 구군, 동 주소 select
|
| 12426 |
MySQL
커리로 DB 테이블 명세서 출력하기
|
| 12425 |
JavaScript
브라우저 해상도 구분없는 절대 x,y 좌표 값 구하기 입니다
|
| 12424 |
PHP
rss 읽어오기 입니다.
|
| 12423 |
JavaScript
자바스크립트로 Ajax 효과내기 입니다.
|
| 12422 | |
| 12421 |
JavaScript
키보드,마우스 등 불펌방지 입니다.
|
| 12420 |
JavaScript
해상도에 따라 서로 다른 페이지로 접속 하기 입니다.
|
| 12419 |
JavaScript
특정페이지에서 자동으로 새로고침 하기 입니다.
|
| 12418 |
JavaScript
마우스 오버시 이미지 안쪽에 테두리주기
|
| 12417 |
node.js
git 사용메뉴얼 보면 깝깝 하네요
|
| 12416 | |
| 12415 | |
| 12414 |
JavaScript
간결한 레이어 메뉴 입니다.
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기