참조 및 번역 : http://www.w3schools.com/js/js_browser.asp

브라우저 인식하기

이 튜토리얼에 있는 대부분의 것들은 자바스크립트가 가능한 브라우저라면 전부 동작합니다. 하지만, 일부 브라우저에서는 동작하지 않을 수도 있습니다. 특히 오래된 브라우저들.

따라서, 방문자의 브라우저 종류와 버전을 알아내는 것은 유용하며 그렇게 함으로써 적절한 정보를 제공할 수 있습니다.

이 방법을 실현하기 위한 최선책은 여러분의 웹 페이지들이 브라우저에 따라 적절하게 보여줄 수 있을 만큼 똑똑하게 만드는 것입니다.

자바스크립트는 Navigator 라 불리는 객체를 포함하고 있으며 이것으로 상기 목적을 달성할 수 있습니다.

Navigator 객체는 방문자의 브라우저 name, 버전, 기타 등등의 정보를 포함하고 있는 객체입니다.

Navigator 객체

자바스크립트 Navigator 객체는 방문자의 브라우저에 대한 모든 정보를 담고 있습니다. Navigator 객체가 담고 있는 두 개의 속성을 살펴보겠습니다.

    * appName -  브라우저의 이름을 담고 있습니다.
    * appVersion - 브라우저의 버전이외에도 다양한 정보를 담고 있습니다.

예제

<html>

<body>
<script type="text/javascript">
var browser=navigator.appName
var b_version=navigator.appVersion
var version=parseFloat(b_version)

document.write("Browser name: "+ browser)
document.write("<br />")
document.write("Browser version: "+ version)
</script>
</body>

</html>

browser 변수는 브라우저의 이름을 담고 있습니다. 예를 들어 "Netscape" 또는 "Microsoft Internet Explorer"와 같은 값을 담고 있죠.

appVersion 속성은 단순한 버전 넘버 외에도 많은 정보를 포함하고 있지만 지금은 버전 넘버에만 관심이 있습니다. 버전 넘버만 빼내기 위해서 parseFloat()를 호출하여 문자열 내에서 소수로 보이는 첫번째 숫자를 빼내옵니다.

중요! IE 5.0 이상에서는 버전 넘버가 다릅니다! 마이크로소프트가 IE 5.0과 IE 6.0에서 appVwersion 문자열을 4.0으로 시작하도록 했습니다!!! 대체 이사람들 왜 이런걸까요??? 하지만, 자바스크립트는 IE6, IE5 그리고 IE4에서도 동일합니다. 따라서 대부분의 스크립트는 괜찮을 겁니다.

예제

다음의 스크립트는 방문자의 브라우저에 따라 다른 경고 메시지를 보여줍니다.

<html>
<head>
<script type="text/javascript">
function detectBrowser()
{
var browser=navigator.appName
var b_version=navigator.appVersion
var version=parseFloat(b_version)
if ((browser=="Netscape"||browser=="Microsoft Internet Explorer")
&& (version>=4))
  {alert("Your browser is good enough!")}
else
  {alert("It's time to upgrade your browser!")}
}
</script>
</head>

<body onload="detectBrowser()">
</body>
</html>