JavaScript

javascript 안드로이드 아이폰 구분

강릉꿀주먹 2019. 7. 2. 22:39

하이브리드 및 웹 앱을 만들다보면 Android 와 IOS를 구분해야하는 부분들이 생긴다.

자바스크립트에서 접속자의 브라우저 정보 및 디바이스 정보를 가지고있는 User-Agent라는 객체를 사용하여 Android와 IOS를 구분할 수 있다.

다음은 User-Agent를 통해 얻어낸 Android, IOS 각 기기의 정보이다.

 

Android

Mozilla/5.0 (Linux; Android 9; SM-G955N Build/PPR1.180610.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/75.0.3770.89 Mobile Safari/537.36

 

IOS

Mozilla/5.0 (iPhone; CPU iPhone OS 12_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/71.0.3758.78 Mobile/15E148 Safari/605.1

각 정보를 보면 알 수 있듯이 안드로이드폰에서는 Android, 아이폰에서는 iPhone이라는 문자열을 가지고 있는것을 볼 수 있다.

이걸 통해서 아이폰과 안드로이드폰을 구분할 수 있다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function checkMobile(){
 
    var varUA = navigator.userAgent.toLowerCase(); //userAgent 값 얻기
 
    if ( varUA.indexOf('android'> -1) {
        //안드로이드
        return "android";
    } else if ( varUA.indexOf("iphone"> -1||varUA.indexOf("ipad"> -1||varUA.indexOf("ipod"> -1 ) {
        //IOS
        return "ios";
    } else {
        //아이폰, 안드로이드 외
        return "other";
    }
    
}
Colored by Color Scripter

 

추가로 모바일인지를 구분이 필요할때가 있다.

 

1
2
3
4
5
6
7
8
9
var mobile = (/iphone|ipad|ipod|android/i.test(navigator.userAgent.toLowerCase()));
 
if (mobile) { 
  //모바일 처리
}else{
  //비 모바일 처리
}
 
Colored by Color Scripter

 

해당 체크로 모바일인지 비모바일 채널인지를 구분하면 된다.