본문 바로가기

study/JavaScript

Js - 사용자의 os 가져오는 방법

프로젝트를 진행중 사용자의 OS를 가져와 OS별로 처리해줘야 할 일이 생겼다. 이를 구현한 방법을 메모해 놓으려고 한다.  (match 함수를 이용하여 해결)

var userOs = navigator.userAgent.replace(/ /g, '').toLowerCase()
      if( userOs.match(/macintosh/i) == "macintosh") {
        return this.$store.commit("User/setUserOs", "mac")
      }else if(userOs.match(/window/i) == "window") {
        return this.$store.commit("User/setUserOs", "window")
      }else if(userOs.match(/android/i) == "android") {
        return this.$store.commit("User/setUserOs", "android")
      }else if(userOs.match(/iphone/i) == "iphone") {
        return this.$store.commit("User/setUserOs", "ios")
      }else if(userOs.match(/ipad/i) == "ipad") {
        return this.$store.commit("User/setUserOs", "ipad")
      }

match 함수를 이용하여 해당 단어가 있을시 vuex에 해당 OS타입을 저장하였다. 코드 제일 상단 .toLowerCase() 함수는 모든 영단어를 소문자로 변경시키는 함수이지만, 아래 match()함수안에 /macintosh/i 와 같이 i수정자(대소문자를 무시함)를 넣었으므로 붙히지 않아도 될것이다. 해당 기능을 구현하는데 오랜 시간이 걸리지 않을 것 같지만 앞으로도 자주 쓰일 기능일 것 같아서 기록 한다.

'study > JavaScript' 카테고리의 다른 글

Js - 어휘적 환경(Lexical Environment)과 클로저(Closure)  (0) 2022.11.18
Js - 스코프(Scope)  (0) 2022.11.17
Js - 호이스팅 간단히 이해하기  (0) 2022.10.27
Js - JSDoc  (0) 2022.08.24
Js - var, let, const의 차이점  (0) 2022.02.17