[브라우저]브라우저명을 정확히 알아내기
보통 브라우저명을 체크할 때 아래 코드를 많이 사용합니다.
var DOM = (document.getElementById) ? true : false; // W3C 표준
var IE4 = (!DOM && document.all) ? true : false; // IE4
var IE5 = (DOM && (navigator.userAgent.indexOf("MSIE")>-1)) ? true : false; // IE5 >= 5
var NS4 = (!DOM && document.layers) ? true : false; // NN4
var NS5 = (DOM && (navigator.userAgent.indexOf("Gecko")>-1)) ? true : false // NN5 >= 5
또는,
navigator.appName == "Microsoft Internet Explorer"
navigator.appName == "Netscape"
위처럼 하면 한 가지 문제가 생기는데 바로 NS와 FF 입니다.
알다시피 FF 도 모질라의 뿌리를 갖고 있으므로 Netscape 를 브라우저명에 같이 출력합니다.
그래서 위처럼 하게되면 근래들어 급속한 사용자증가를 보이고 있는 FF 를 제대로 가려낼 수가 없습니다.
또한 FF 는 왠만한 부분은 IE6과 비슷합니다. 하다못해 스크롤링 되는 레이어도 같은 코드로 지원합니다. 그러나 NS 는 분명히 다릅니다. IE와 FF 에서 스크롤되는 레이어도(예를 들어 영카트1에 있는 오른쪽 움직이는 스크롤처럼) NS에서는 지원되지 않으며, 영카트의 스크롤 레이어가 브라우저명에서 NS 를 기준으로 체크하므로 FF에서는 스크롤이 움직이지 않습니다.
위와 같은 경우의 해결책이며..사실 해결책이라기 보다는 가장 정확한 브라우저명을 체크하는게 아닌가 싶습니다.
//브라우저 이름으로 브라우저 구분 : Netscape Firefox MSIE
if(new RegExp(/Firefox/).test(navigator.userAgent)){
FF (파이어폭스)
}else if(new RegExp(/Netscape/).test(navigator.userAgent)){
NS (넷스케이프)
}else if(new RegExp(/MSIE/).test(navigator.userAgent)){
IE (익스플로러)
}
위와 같이 정확한 브라우저명을 체크할 수 있으며, 버젼까지 체크할 경우는
navigator.appVersion.indexOf 를 이용하여 정확히 체크할 수 있습니다.
* 점점 FF 사용자층이 증가하고, 더불어 NS7+ 도 조금씩 증가하는 추세라서 끄적여 봤습니다.<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 16:57:14 JavaScript에서 이동 됨]</div>
var DOM = (document.getElementById) ? true : false; // W3C 표준
var IE4 = (!DOM && document.all) ? true : false; // IE4
var IE5 = (DOM && (navigator.userAgent.indexOf("MSIE")>-1)) ? true : false; // IE5 >= 5
var NS4 = (!DOM && document.layers) ? true : false; // NN4
var NS5 = (DOM && (navigator.userAgent.indexOf("Gecko")>-1)) ? true : false // NN5 >= 5
또는,
navigator.appName == "Microsoft Internet Explorer"
navigator.appName == "Netscape"
위처럼 하면 한 가지 문제가 생기는데 바로 NS와 FF 입니다.
알다시피 FF 도 모질라의 뿌리를 갖고 있으므로 Netscape 를 브라우저명에 같이 출력합니다.
그래서 위처럼 하게되면 근래들어 급속한 사용자증가를 보이고 있는 FF 를 제대로 가려낼 수가 없습니다.
또한 FF 는 왠만한 부분은 IE6과 비슷합니다. 하다못해 스크롤링 되는 레이어도 같은 코드로 지원합니다. 그러나 NS 는 분명히 다릅니다. IE와 FF 에서 스크롤되는 레이어도(예를 들어 영카트1에 있는 오른쪽 움직이는 스크롤처럼) NS에서는 지원되지 않으며, 영카트의 스크롤 레이어가 브라우저명에서 NS 를 기준으로 체크하므로 FF에서는 스크롤이 움직이지 않습니다.
위와 같은 경우의 해결책이며..사실 해결책이라기 보다는 가장 정확한 브라우저명을 체크하는게 아닌가 싶습니다.
//브라우저 이름으로 브라우저 구분 : Netscape Firefox MSIE
if(new RegExp(/Firefox/).test(navigator.userAgent)){
FF (파이어폭스)
}else if(new RegExp(/Netscape/).test(navigator.userAgent)){
NS (넷스케이프)
}else if(new RegExp(/MSIE/).test(navigator.userAgent)){
IE (익스플로러)
}
위와 같이 정확한 브라우저명을 체크할 수 있으며, 버젼까지 체크할 경우는
navigator.appVersion.indexOf 를 이용하여 정확히 체크할 수 있습니다.
* 점점 FF 사용자층이 증가하고, 더불어 NS7+ 도 조금씩 증가하는 추세라서 끄적여 봤습니다.<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 16:57:14 JavaScript에서 이동 됨]</div>
게시글 목록
| 번호 | 제목 |
|---|---|
| 12201 | |
| 12200 |
기타
www 자동으로 붙이기
|
| 29244 | |
| 12196 | |
| 29243 | |
| 12188 | |
| 12184 |
Flash
Open Flash Chart
3
|
| 29231 |
HTML
타이틀 이미지 만드는 방법
11
|
| 29230 |
HTML
리코
|
| 12181 |
기타
툴팁
2
|
| 29229 | |
| 12179 | |
| 12177 | |
| 12173 |
Flash
서서히 늘어나는 리사이즈 팝업창
3
|
| 29226 | |
| 12172 |
정규표현식
자바스크립트 sort()를 이용한 숫자 정렬
|
| 25007 | |
| 12171 |
JavaScript
DOM 이용 select box 옵션추가삭제
|
| 12170 | |
| 29225 |
HTML
실수로 지운 데이터 살리기..
|
| 12167 | |
| 12166 |
JavaScript
아이디 중복체크
|
| 12157 |
기타
빈티지 효과만들기
8
|
| 12154 |
MySQL
그누보드 통합검색 방법...
2
|
| 12153 | |
| 25002 | |
| 12151 | |
| 29224 | |
| 12148 |
JavaScript
심플한 드롭다운 레이어 메뉴 (2단계 메뉴 구성)
2
|
| 29223 | |
| 12142 | |
| 29217 | |
| 12141 |
JavaScript
날짜 관련 쿼리 입니다. 한달을 요일별로 구함..
|
| 12136 | |
| 12132 | |
| 12130 |
MySQL
테이블 깨졌거나 복구 할때 간단한 팁.
1
|
| 29216 |
HTML
Table생성 스크립트 파일 뽑아내기
|
| 29215 | |
| 12126 | |
| 12124 |
JavaScript
마우스 오버시 그림 변하게 하는 스크립트 소스
1
|
| 12122 | |
| 12120 |
PHP
웹 서버를 이용한 인증
1
|
| 12111 |
JavaScript
div 사이즈 5픽셀로 하기. -_-
8
|
| 25001 | |
| 25000 | |
| 24999 | |
| 24998 | |
| 24997 | |
| 24994 | |
| 24985 | |
| 12109 | |
| 12105 | |
| 12104 | |
| 12096 | |
| 12094 | |
| 12091 | |
| 12090 |
MySQL
리눅스 mysql 에서 백그라운드 실행
|
| 12079 |
JavaScript
거리에서 찍은 인물사진 더 멋있게-
10
|
| 29211 |
HTML
낡은 포스터효과를 내어보자
3
|
| 12072 |
기타
돌아가는 글자
6
|
| 29210 |
HTML
구멍난 자바스크립트 보안
|
| 12070 | |
| 29207 |
HTML
올가미툴에 대해 배워보자
2
|
| 12067 |
JavaScript
div layer 위치 Javascript
2
|
| 12061 | |
| 29204 |
HTML
한글패치 삭제하는 방법
2
|
| 12058 | |
| 12057 | |
| 12056 |
PHP
php로 엑셀파일 만들기
|
| 24984 | |
| 12055 |
JavaScript
lampp 스타트 간단명령
|
| 12053 |
JavaScript
중앙정렬 사이트에 영향없이 오른쪽 배너 붙이기
1
|
| 12051 |
MySQL
apm
1
|
| 12050 |
MySQL
LOG
|
| 12049 | |
| 12048 |
기타
dhcp
|
| 12047 |
Linux
X 윈도우
|
| 12046 |
Linux
BOOT PROCESS
|
| 12045 |
Linux
Linux 명령어 사용방법
|
| 12044 | |
| 12043 |
JavaScript
vi
|
| 12042 |
기타
Nis/NFS
|
| 12041 |
PHP
User Management
|
| 12040 |
JavaScript
쉘
|
| 12039 |
기타
Process
|
| 12038 |
Linux
파일 시스템
|
| 12037 |
Linux
programming
|
| 12036 |
Flash
시스템 튜닝
|
| 12035 |
JavaScript
Quota
|
| 12034 |
MySQL
LOG
|
| 12033 | |
| 12032 |
Linux
메모리
|
| 12031 |
JavaScript
IPCHAINS
|
| 12028 | |
| 12026 |
Linux
linux + samba
1
|
| 12025 |
Linux
압축 그리고 백업( Backup)
|
| 12020 | |
| 12017 | |
| 12015 |
기타
이미지파일정보
1
|
| 12013 |
기타
아쿠아버튼
1
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기