Gooday Note Scrap Source Android login
 
작성일 : 11-07-22 10:06
[JavaScript] JavaScript 브라우저 체크 (OS 체크는 보너스)
 글쓴이 : 기리 (123.♡.195.24)
조회 : 3,549  
   http://kldp.org/node/90444 [2158]
function getNavigatorInfoStr()
{
    var name = navigator.appName, ver = navigator.appVersion,
        ver_int = parseInt(navigator.appVersion), ua = navigator.userAgent, infostr;
    if(name == "Microsoft Internet Explorer")
    {
        if(ver.indexOf("MSIE 3.0") != -1) return "Internet Explorer 3.0x";
        if(ver_int != 4) return "Internet Explorer " + ver.substring(0, ver.indexOf(" "));
 
        var real_ver = parseInt(ua.substring(ua.indexOf("MSIE ") + 5));
        if(real_ver >= 7) infostr = "Windows Internet Explorer ";
        else infostr = "Microsoft Internet Explorer ";
 
        if(ua.indexOf("MSIE 5.5") != -1) return infostr + "5.5";
        else return infostr + real_ver + ".x";
 
        return "Internet Explorer";
    }
    else if(name == "Netscape")
    {
        if(parseInt(ua.substring(8, 8)) <= 4)
          return "Netscape " + ver.substring(0, ver.indexOf(" "));
        else if(ua.lastIndexOf(" ") < ua.lastIndexOf("/"))
          return ua.substring(ua.lastIndexOf(" "));
        else return "Netscape";
    }
    else return name;
}
 
function getOSInfoStr()
{
    var ua = navigator.userAgent;
 
    if(ua.indexOf("NT 6.0") != -1) return "Windows Vista/Server 2008";
    else if(ua.indexOf("NT 5.2") != -1) return "Windows Server 2003";
    else if(ua.indexOf("NT 5.1") != -1) return "Windows XP";
    else if(ua.indexOf("NT 5.0") != -1) return "Windows 2000";
    else if(ua.indexOf("NT") != -1) return "Windows NT";
    else if(ua.indexOf("9x 4.90") != -1) return "Windows Me";
    else if(ua.indexOf("98") != -1) return "Windows 98";
    else if(ua.indexOf("95") != -1) return "Windows 95";
    else if(ua.indexOf("Win16") != -1) return "Windows 3.x";
    else if(ua.indexOf("Windows") != -1) return "Windows";
    else if(ua.indexOf("Linux") != -1) return "Linux";
    else if(ua.indexOf("Macintosh") != -1) return "Macintosh";
    else return "";
}


그냥 재미로 짜봤습니다. 유용할 거라고 믿어요.
테스트 환경:
Windows Vista, Internet Explorer 7.0
Windows Server 2008, Internet Explorer 7.0
Windows Me, Internet Explorer 5.5
Windows Vista, Firefox 3.0b2
Windows Vista, Firefox 2.0.0.10
Windows Vista, Netscape Navigator 9.0
Windows Vista, Mozilla SeaMonkey 1.1.6
Ubuntu 7.04, Firefox 2.0.0.10
물론 테스트 환경에서 잘못 나온 건 없었습니다.

- Safari, Konqueror 등에서 appName, appVersion, userAgent가 어떻게 되는지 알려주세요! -



 
 

Total 16
번호 제   목 글쓴이 날짜 조회
16 [JavaScript] ReactJS 기리 01-01 734
15 [JavaScript] 브라우저 설정 언어 확인 기리 11-21 1109
14 [JavaScript] 형변환 기리 02-15 2413
13 [JavaScript] Array 정렬 기리 02-15 2547
12 [JavaScript] 원하는 부분만 인쇄하기 (1) 기리 11-28 9645
11 [JavaScript] 프린트버튼 출력하기 기리 11-28 2837
10 [JavaScript] JavaScript 브라우저 체크 (OS 체크는 보너스) 기리 07-22 3550
9 [JavaScript] window.onunload 기리 07-19 3150
8 [JavaScript] 영어,숫자,한글,이메일 확인 (1) 기리 05-23 3040
7 [JavaScript] Screen 객체 기리 05-09 2375
6 [JavaScript] 이미지 드래그 (3) 기리 04-29 2758
5 [JavaScript] 자바스크립트 프로퍼디 기리 04-28 2471
4 [JavaScript] Group Radio Check Value 기리 04-07 2545
3 [JavaScript] 알파벳 대소문자 바꾸기, 대문자 소문자 변환… 관리자 04-01 4644
2 [JavaScript] 날자계산 (1) 관리자 03-29 3151
 1  2