Gooday Note Scrap Source Android login
 
작성일 : 11-07-22 10:06
[JavaScript] JavaScript 브라우저 체크 (OS 체크는 보너스)
 글쓴이 : 기리 (123.♡.195.24)
조회 : 3,392  
   http://kldp.org/node/90444 [2088]
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 3021
60 [Linux] 현재 접속자수 보기 netstat (1) 기리 10-12 7539
59 [PHP] 파일과 관련된 PHP 함수 정리 기리 10-07 3275
58 [Java] 트레이 아이콘을 구현하기 (1) 최고관… 09-15 4445
57 [Linux] Apache & MySql 재시작 (1) 기리 09-02 2941
56 [Linux] [LINUX] OS버전 및 IP정보 확인 하기 기리 08-08 3543
55 [PHP] Mobile 기기 확인 기리 08-05 2638
54 [Html] HTML table 테두리 기리 08-04 6404
53 [PHP] 파일과 관련된 php함수 기리 08-01 3208
52 [JavaScript] JavaScript 브라우저 체크 (OS 체크는 보너스) 기리 07-22 3393
51 [JavaScript] window.onunload 기리 07-19 3031
50 [Html] iframe 기리 07-18 2186
49 [MySql] 여러 테이블의 최근 게시물 추출 기리 07-11 8159
48 [PHP] PHP 소켓통신 (1) 기리 07-07 3181
47 [MySql] MySql 쿼리 디버깅을 위한 방법 - MySql 로그 (1) 기리 07-06 4725
 1  2  3  4  5  6  7  8  9