[브라우저]브라우저명을 정확히 알아내기
보통 브라우저명을 체크할 때 아래 코드를 많이 사용합니다.
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>
게시글 목록
| 번호 | 제목 |
|---|---|
| 10853 |
JavaScript
속도를 위해 데이터를 접속자 메모리에
|
| 10852 | |
| 10850 | |
| 28848 | |
| 10849 |
JavaScript
백그라운드에음악걸기
|
| 28847 |
HTML
배경에 그림스타일지정
|
| 10846 |
기타
메신저형식의광고
2
|
| 28846 |
HTML
많이 쓰이는 자바스크립트
|
| 10845 | |
| 28845 |
HTML
마우스로 이미지크기 변경하기
|
| 10844 |
JavaScript
도메인 주소에 자동으로 www 붙이기 (php)
|
| 28844 |
HTML
다음부동산매물스크립트1
|
| 28843 |
HTML
다음부동산매물스크립트
|
| 10843 |
JavaScript
다각형이미지슬라이드쇼(익스네츠)
|
| 28842 |
HTML
날짜 형식 입력 받은 값 확인하기
|
| 10842 | |
| 28841 |
HTML
그림클릭시 레이어 띄우기
|
| 10841 |
MySQL
그림을 디비에 저장하는 방법
|
| 28840 |
HTML
그림 앨범 스크립트
|
| 28839 |
HTML
간단한 팝업오브젝트 예제
|
| 10840 |
JavaScript
가운데 정렬된 홈페이지에서 따라다니는 레이어
|
| 10839 | |
| 24791 | |
| 24789 | |
| 10836 |
기타
외부 링크 막기
2
|
| 28838 | |
| 24788 | |
| 24787 | |
| 24786 |
계약서
농지임대차계약서
|
| 28837 | |
| 28834 |
HTML
URL옆에 뜨는 숏컷아이콘만들기.
2
|
| 10835 |
JavaScript
클릭시 펼쳐지는 메뉴
|
| 10834 |
정규표현식
수수료계산
|
| 28833 |
HTML
기본적인 페이징
|
| 28829 |
HTML
만 19세 확인하기
3
|
| 10833 |
JavaScript
IE에서 쓰는 CSS filter 사이트 소개
|
| 10831 | |
| 10830 | |
| 10829 |
JavaScript
iconv 함수 사용시 일부 글자가 변환되지 않는경우
|
| 28828 |
HTML
금액에 점찍고 한글 표시하기
|
| 10828 | |
| 10827 |
MySQL
mysql link 추가로 만들기
|
| 10823 | |
| 10822 |
기타
[펌] SAMBA 설정
|
| 10821 |
JavaScript
1-1000 까지 누락된 숫자 구하기
|
| 10820 | |
| 28822 |
HTML
간단하게 만들어본 프레임워크
5
|
| 10814 | |
| 10812 |
Flash
vr기능-도와주셈
1
|
| 10811 | |
| 10810 |
JavaScript
mod_cband 간단 정리
|
| 10808 |
Flash
간단한 플래시 보완패치입니다.
1
|
| 10804 |
JavaScript
cs..cs2 버젼...윈도우즈 탐색기프리뷰 패치(psd,ai)...
3
|
| 10797 | |
| 28821 |
HTML
IeTagConvertor
|
| 10796 | |
| 10795 |
JavaScript
ncftp 서브 디렉토리 포함 모두 전송
|
| 10794 |
JavaScript
테이블 각 row 마우스오버시 색깔바꾸기
|
| 10792 | |
| 10789 |
MySQL
apache - mod_ssl 설치하기
2
|
| 10785 | |
| 10781 | |
| 10780 |
정규표현식
자바스크립트 이메일 체크 함수
|
| 28820 |
HTML
PHP에서 홈페이지 주소 검사
|
| 10776 |
PHP
문자셋(인코딩 바꾸는 팁
3
|
| 10769 |
JavaScript
당장써먹어야 할 팁) 앞으로 gif는 물러가고 png시대가 될거 같네요
6
|
| 10766 |
JavaScript
full-down메뉴[펌]
2
|
| 10765 |
JavaScript
플래쉬 무비 전체 화면으로 뜨게 하는 fscommand
|
| 10758 |
JavaScript
코딩시 테이블을 줄입시다.
6
|
| 28818 | |
| 10754 |
JavaScript
모든 폰트 설정 한번에 바꾸기(식별자 *의 사용법)
3
|
| 10753 | |
| 10750 | |
| 28817 |
HTML
자바스크립트에서 변수 없애기
|
| 10749 | |
| 10748 | |
| 10747 | |
| 10746 |
JavaScript
[소개]윈도우 미디어 플레이어 - 컨트롤 버튼
|
| 10740 |
JavaScript
iframe사용시 높이 자동 조정
5
|
| 10738 |
Flash
플래시 무비에 레이어 올리기
1
|
| 10735 |
JavaScript
도움말 띄우기 - 관리자 페이지에 있는 것을 추림
2
|
| 10734 | |
| 28812 | |
| 10730 | |
| 10726 | |
| 10725 |
기타
자바스크립트 기초문서
|
| 28811 | |
| 10724 |
JavaScript
숫자를 한글로 변환하기
|
| 10723 |
JavaScript
디렉터리 파일 찾기 순서 DirectoryIndex
|
| 10722 | |
| 10721 | |
| 10717 | |
| 10716 |
기타
Apache 보안 팁
|
| 10715 |
JavaScript
문서루트 위치 DocumentRoot
|
| 10713 |
Linux
lilo.conf
1
|
| 10712 | |
| 10711 | |
| 10710 |
JavaScript
웹 서버가 기다리는 포트(Port)
|
| 10709 |
JavaScript
logrotate.conf의 설정및 옵션에 대한 설명
|
| 10708 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기