Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript로 클라이언트 PC의 운영체제(OS)를 감지하는 방법

클라이언트 머신에서 실행 중인 운영체제(OS)를 감지하려면 자바스크립트의 navigator.appVersion 또는 navigator.userAgent 속성 값을 분석하면 됩니다. 이 값에는 브라우저가 실행되는 환경 정보가 문자열 형태로 포함되어 있어, 특정 키워드를 검색하는 방식으로 OS를 판별할 수 있습니다.

아래 예제 코드를 통해 클라이언트 OS를 감지하는 방법을 살펴보겠습니다.

예제

var operatingSystem = "Unknown OS";
// Windows 여부 확인
if (navigator.appVersion.indexOf("Win") != -1) operatingSystem = "Windows";
// Mac 여부 확인
if (navigator.appVersion.indexOf("Mac") != -1) operatingSystem = "MacOS";
// UNIX 여부 확인
if (navigator.appVersion.indexOf("X11") != -1) operatingSystem = "UNIX";
// Linux 여부 확인
if (navigator.appVersion.indexOf("Linux") != -1) operatingSystem = "Linux";
console.log('Your OS: ' + operatingSystem);

실행 결과

Windows 시스템에서 위 코드를 실행하면 콘솔에 다음과 같은 결과가 출력됩니다.

Your OS: Windows

코드의 동작 원리는 간단합니다. 먼저 기본값으로 "Unknown OS"를 설정한 뒤, navigator.appVersion 문자열에 "Win", "Mac", "X11", "Linux" 같은 식별 키워드가 포함되어 있는지 순서대로 검사하고, 일치하는 항목이 발견되면 해당 OS 이름으로 값을 갱신합니다.

참고로 최신 브라우저 환경에서는 navigator.userAgent를 직접 파싱하는 것보다 navigator.userAgentData API를 활용하는 것이 더 정확할 수 있으며, UA 문자열은 브라우저에 따라 표기 방식이 다르거나 의도적으로 변경될 수 있다는 점도 유의해야 합니다.

이와 같은 방식은 운영체제뿐만 아니라 사용자가 사용 중인 브라우저 종류를 파악할 때에도 동일하게 활용할 수 있습니다.