JavaScript는 navigator 객체를 제공하여 브라우저와 관련된 다양한 정보를 손쉽게 확인할 수 있습니다. 이 객체를 활용하면 사용자가 어떤 브라우저를 통해 웹 페이지에 접속했는지 파악할 수 있으며, 이를 기반으로 브라우저별로 다른 동작을 처리하거나 호환성 문제를 해결할 수 있습니다.
브라우저의 애플리케이션 이름과 버전 정보를 얻기 위해서는 각각 navigator.appName과 navigator.appVersion 속성을 사용하면 됩니다. 지금부터 두 속성을 하나씩 자세히 살펴보겠습니다.
브라우저의 애플리케이션 이름 확인하기
애플리케이션 이름을 가져오려면 navigator.appName 속성을 사용합니다. 흥미롭게도 IE11, Chrome, Firefox, Safari 등 대부분의 주요 브라우저에서 이 속성은 과거 넷스케이프(Netscape) 브라우저와의 하위 호환성을 유지하기 위해 "Netscape"라는 값을 반환합니다. 따라서 실제 사용 중인 브라우저가 무엇이든 출력 결과는 Netscape로 표시됩니다.
예제 코드
<html> <body> <script> document.write(navigator.appName); </script> </body> </html>
실행 결과
Netscape
브라우저 버전 정보 확인하기
브라우저의 버전 정보를 확인하려면 navigator.appVersion 속성을 사용합니다. 이 속성은 브라우저의 버전뿐만 아니라 운영체제 정보, 렌더링 엔진 종류 등 브라우저에 대한 상세한 정보를 문자열 형태로 반환합니다.
예제 코드
<html> <body> <script> document.write(navigator.appVersion); </script> </body> </html>
실행 결과
5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36
위 실행 결과에서 볼 수 있듯이, appVersion 속성은 단순한 버전 숫자 외에도 Windows 운영체제 정보(Windows NT 6.3), WebKit 기반 렌더링 엔진(AppleWebKit/537.36), 그리고 실제 브라우저 버전(Chrome/75.0.3770.100)까지 포함한 종합적인 정보를 제공합니다.
참고로 최신 브라우저 환경에서는 보다 정확한 브라우저 식별을 위해 navigator.userAgent 속성을 함께 활용하는 것이 좋습니다. appName과 appVersion은 역사적인 이유로 인해 실제 값과 다른 정보를 반환할 수 있기 때문입니다.