웹브라우져의 종류를 알아내자!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE>예제 - 웹브라우져의 종류를 알아내자!</TITLE>
</HEAD>

<BODY bgColor="white">
<CENTER>
당신이 사용하는 브라우져는 다음과 같습니다.<P>

<FORM NAME="Browser_Info">
    <TABLE BORDER=0>
        <TR>
            <TD BGCOLOR=#E5EEF8>웹브라우저 이름:
            <TD><INPUT NAME="Name" TYPE="text" SIZE=35>
        </TR>

        <TR>
            <TD BGCOLOR=#E5E5D5>웹브라우저 버젼:
            <TD><INPUT NAME="Version" TYPE="text" SIZE=35>
        </TR>

        <TR>
            <TD BGCOLOR=#BDF2D5>웹브라우져 코드명:
            <TD><INPUT NAME="CodeName" TYPE="text" SIZE=15>
        </TR>
    </TABLE>
</FORM>

<SCRIPT LANGUAGE="JavaScript">
<!--
if (navigator.appVersion.indexOf("4.0") != -1)
{
    // ---------------------------------------------------------------------
    // navigator object : 현재 사용 중인 웹브라우져의 이름, 코드명, 버전등을
    //                    알려주는 객체
    // ---------------------------------------------------------------------
    // 속성(property)에는 다음과 같은 것들이 있습니다.  
    // appName : 웹브라우져의 이름. Netscape Navigator를 쓰는 경우에는
    //           appName이 "Netscape"이고, Internet Explorer를 쓰는 경우에는
    //           "Microsoft Internet Explorer"입니다.
    // appVersion : 웹브라우져의 버전을 이 속성을 통해 알 수 있습니다..
    // appCodeName : 웹브라우져의 코드명. Netscape Navigator의 코드명은
    //               "Mozilla"죠... 
    // ---------------------------------------------------------------------
    // navigator.appVersion.indexOf("4.0")에 대한 설명
    // navigator객체의 appVersion이라는 속성값(문자열)에 "4.0"이라는 문자열이
    // 들어있는지를 검사하는 겁니다. indexOf 메소드(method)는 String 객체의
    // 메소드로서 인자로 주어진 문자열이 처음으로 발견되는 위치의 인덱스값을
    // 리턴해 줍니다. 만일, 해당 문자열이 없다면 -1을 리턴합니다.
    // 그래서, 위의 if문처럼 처리한 겁니다. 그리고 appVersion이 문자열,
    // 즉 String이므로 위처럼 appVersion.indexOf("4.0")처럼
    // 쓸 수 있는겁니다. (사용형식 : 객체이름.속성, 객체이름.메소드)
    // ---------------------------------------------------------------------

    if (navigator.appName.indexOf("Netscape") != -1)
    {
        // alert() 함수는 주어진 인자(문자열)을 가지고 경고 다이얼로그
        // 박스를 출력해줍니다.
        alert("당신은 Netscape Communicator v4.0x를 쓰고 있습니다.");

        // window.location = "ns4.htm";  파일이 없으므로 주석처리했습니다.
        // 만일 웹브라우져가 Netscape 4.0이라면 "ns4.htm"문서를 불러옵니다.
    }

    else if (navigator.appName.indexOf("Microsoft Internet Explorer") != -1)
    {
        alert("당신은 Microsoft Internet Explorer v4.x를 쓰고 있습니다.");

        // window.location = "ie4.htm";
    }
}

else if (navigator.appVersion.indexOf("3.0") != -1)
{
    if (navigator.appName.indexOf("Netscape") != -1)
    {
        alert("당신은 Netscape Navigator v3.0x를 쓰고 있습니다.");

        // window.location = "ns3.htm";
    }

    else if (navigator.appName.indexOf("Microsoft Internet Explorer") != -1)
    {
        alert("당신은 Microsoft Internet Explorer v3.x를 쓰고 있습니다.");

        // window.location = "ie3.htm";
    }
}

else
    alert("Your browser is not supported by this script program.");

// 각 객체들은 계층적인 구조를 같습니다.
// document 객체내에는 form객체가 들어가고, 또 그내에는 Text Field,
// Button, Text Area등의 객체가 들어갑니다. 여기서는 form객체의 이름을
// FORM 태그의 NAME attribute(속성)에서 Browser_Info로 주었습니다.
// 그리고, 여기선 Text Field 객체의 이름이 각각 Name, Version, CodeName
// 인 3개가 있습니다. Text Field객체는 계층구조상 Form객체의 하위에 존재
// 하므로 아래처럼 써 줄수가 있는 겁니다. value 속성은 말그대로
// Text Field의 값입니다.

document.Browser_Info.Name.value = navigator.appName;
document.Browser_Info.Version.value = navigator.appVersion;
document.Browser_Info.CodeName.value = navigator.appCodeName;
//-->
</SCRIPT>

</BODY>
</HTML>


 

댓글

이 블로그의 인기 게시물

XCOPY를 이용한 당일날짜의 파일만 카피하는방법

뽀롱 뽀롱 뽀로로 DVD 목록

SYSLOG-NG와 MySQL 을 이용한 시스로그 응용 하기