웹/Javascript

자바스크립트로 브라우저 종류와 버젼 알아보기

옥돌소녀 2019. 11. 5. 10:20

<!-- 자바스크립트로 브라우저 종류와 버젼 알아오기 -->

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="utf-8/">
    <script>
        window.onload=function(){
            var info=document.getElementById('info');
            info.innerHTML=getBrowserInfo();
        };

        function getBrowserInfo(){
            // 브라우저 정보는 userAgent에 있음 
            var userAgent= navigator.userAgent;
            console.log(userAgent);

            //indexof() 함수 : 문자열을 검색해서 인덱스를 가져온다 .
            // 못찾으면 -1임  
            if(userAgent.indexOf("Opera") !=-1 || userAgent.indexOf("OPR") != -1){
                return "Opera";
            }
            else if (userAgent.indexOf("Chrome") != -1){
                return "Chrome";
            }
            else if (userAgent.indexOf("Safari") != -1){
                return "Safari";
            }
            else if (userAgent.indexOf("FireFox") != -1){
                return "FireFox";
            }
            // MS Internet Explorer 10 이하 ,IE 6,7 ,8,9,10
            else if (userAgent.indexOf("MSIE") != -1 || 
                  // MS Internet Explorer 11 엣지 
                  // undefined(null)
                  // 느낌표 1개 : 논리반전(not) !undefined => true
                  // 느낌표 2개 : 논리반전(not) !!undefined => false
                  // 느낌표 2개 사용이유: undefined 를 false로 받고 싶다. 
                    (!!document.documentMode ==true)){
                return "IE" + getIEVersion();
            }
            else{
                return "Unknown Browser ! ";
            }

            return "";
        }

        function getIEVersion(){

            var userAgent=window.navigator.userAgent;
            var msie=userAgent.indexOf('MSIE');
            if(msie > 0){
                //IE 10 또는 그 이하 버젼 
                //parseInt() : 문자열을 정수로 변환
                // substring() : 문자열의 일부를 가져온다. 
                return parseInt(userAgent.substring(msie +5, 
                                        userAgent.indexOf('.',msie)),10);

            }

            var trident=userAgent.indexOf('Trident/');
            if(trident >0){
                //IE 11 일 때 
                var rv=userAgent.indexOf('rv:');
                return parseInt(userAgent.substring(rv +3, userAgent.indexOf('.',rv)),10);


            }

            var edge=userAgent.indexOf('Edge/');
            if(edge>0){
                //Edge 브라우저 
                return parseInt(userAgent.substring(edge+5,userAgent.indexOf('.',edge)),10);

            }


            return "";
        }



    </script>
</head>
<body>
    <p>브라우저 이름 (버전) 알아오기 </p>
    <p id="info"></p>    
</body>
</html>