개발 창고/Web

[Javascript] 운영체제에 대한 정보를 위한 navigator

로이제로 2020. 8. 14. 10:28
반응형

스크립트문을 작성하다보면 브라우저의 특성 및 운영체제별로 기능을 분리해야하는 경우가 발생합니다.

이전글에서 모바일과 PC버전에 따른 기능분리에 대해서 이야기할때 잠깐 스쳐지나간 navigator에 대해 좀 더 자세히 이야기해볼까 합니다.

 

2020/08/13 - [개발 창고/웹 개발] - [Javascript] 모바일과 윈도우 구분짓기, User-Agent

 

[Javascript] 모바일과 윈도우 구분짓기, User-Agent

얼마전 고객의 요청으로 모바일과 윈도우에 동일 기능에 대해 다르게 작동해야하도록 하는 소스를 구현해야 하는 일이 생겼습니다. 그래서 작업하는 김에 또 이렇게 창고에 작업을 남겨두기 위

royzero.tistory.com

일단 navigator에 대한 모든 프로퍼티는 아래의 명령으로 확인 가능합니다.

console.dir(navigator);

맥북 크롬의 개발자도구에서 명령을 수행한 결과

 

맥북 사파리 개발자도구에서 수행한 결과

 

이 중에서 일부만 설명하면

 

  appName

웹 브라우저의 이름으로 IE는 Microsofe Inter Explorer로 (기본 윈도우 브라우저) 표시되고, 크롬/사파리 등은 Netscape로 표시됩니다.

위 이미지의 맥북의 크롬/사파리에서 수행한 결과에서 보이듯이 appName에 Netscape가 표시됨을 확인할 수 있습니다.

 

  appVersion

웹 브라우저의 버전을 보여줍니다. 보통 크롬이나 사파리 등은 버전별 큰 차이가 IE에 비해 적은 편이기 때문에 활용이 적은 편이지만, IE는 버전별 기능의 지원 여부가 차이가 나는 경우가 많아 활용을 하는 경우가 많습니다.

 

  cookieEnable

웹 브라우저에서 쿠키 사용 가능한지 여부입니다.

 

  language

웹 브라우저의 언어입니다. 현재 브라우저의 언어는 ko-KR로 한글 버전이며 languses에서 보여지듯이 ko-KR, en-US 등 지원되는 버전을 확인 가능합니다.

 

  onLine

true인 경우 현재 브라우저가 인터넷에 연결된 상태입을 확인 가능합니다. 만약 오프랑니에서도 작동하는 기능을 이용하기 위해서는 해당 기능을 활용 가능합니다.

 

  platform

현재 운영체제의 정보입니다. 현재 제 운영체제는 매킨토시로 MacIntel로 표시됩니다.

  - Wind32: Windows 32-bit

  - Wind63: Windows 64-bit

  - MacIntel: 맥PC

 

  userAgent

웹 브라우저가 서버로 전송하는 USER-AGENT HTTP 헤더의 내용입니다. 현재 코드내용에서 appCodeName과 appVersion을 함께 보내는것을 확인 가능합니다.

 

반응형