Gooday Note Scrap Source Android login
 
작성일 : 11-07-22 10:06
[JavaScript] JavaScript 브라우저 체크 (OS 체크는 보너스)
 글쓴이 : 기리 (123.♡.195.24)
조회 : 3,548  
   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 121
번호 제   목 글쓴이 날짜 조회
61 [Linux] Port 오픈 확인 (1) 기리 10-27 3155
60 [Linux] 현재 접속자수 보기 netstat (1) 기리 10-12 7715
59 [PHP] 파일과 관련된 PHP 함수 정리 기리 10-07 3440
58 [Java] 트레이 아이콘을 구현하기 (1) 최고관… 09-15 4616
57 [Linux] Apache & MySql 재시작 (1) 기리 09-02 3088
56 [Linux] [LINUX] OS버전 및 IP정보 확인 하기 기리 08-08 3675
55 [PHP] Mobile 기기 확인 기리 08-05 2771
54 [Html] HTML table 테두리 기리 08-04 6628
53 [PHP] 파일과 관련된 php함수 기리 08-01 3405
52 [JavaScript] JavaScript 브라우저 체크 (OS 체크는 보너스) 기리 07-22 3549
51 [JavaScript] window.onunload 기리 07-19 3150
50 [Html] iframe 기리 07-18 2304
49 [MySql] 여러 테이블의 최근 게시물 추출 기리 07-11 9002
48 [PHP] PHP 소켓통신 (1) 기리 07-07 3463
47 [MySql] MySql 쿼리 디버깅을 위한 방법 - MySql 로그 (1) 기리 07-06 5069
 1  2  3  4  5  6  7  8  9