개발 창고/Web

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

로이제로 2020. 8. 13. 10:01
반응형

얼마전 고객의 요청으로 모바일과 윈도우에 동일 기능에 대해 다르게 작동해야하도록 하는 소스를 구현해야 하는 일이 생겼습니다.

그래서 작업하는 김에 또 이렇게 창고에 작업을 남겨두기 위해 글을 작성해 봅니다.

 

참고로 자체 제작 어플을 이용하는 경우엔 AndroidBridge를 활용하면 더 확실하지만, 안드로이드/애플의 브라우저 어플에서 실행할때는 이런 부분에 제약이 있습니다.

 

2020/08/04 - [개발 창고/안드로이드 개발] - [Android] 안드로이드 기능을 웹에서, AndroidBridge

 

[Android] 안드로이드 기능을 웹에서, AndroidBridge

Android 개발 시, 기존 모바일웹을 어플로 띄우고 싶을 때가 있을 겁니다. 그럴 때 사용하는 게 바로 WebView인데 가끔 Web에서 안드로이드의 기능 (ex. 카메라, 바코드스캐너, 알림 등등)을 사용하고 ��

royzero.tistory.com

 

때문에, 이 소스를 가져다 붙여두고 활용하시면 도움이 될거라 생각합니다.

 

/**
* 모바일인지 여부
* wind16: Windows 16bit
* wind32: Windows 32bit
* wind64: Windows 64bit
* MacIntel: Intel CPU의 Mac
* Mac: Mac
* @return true:모바일/false:PC
*/
function isMobileYn(){
    var filter = "win16|win32|win64|mac|macintel";
    if (navigator.platform ) {
        if (filter.indexOf(navigator.platform.toLowerCase()) < 0) {
            return true;
        } else {
            return false;
        }
    }
    return false;
}

 

해당 함수를 활용하면, Window OS기반/Mac OS기반은 PC로 인식되어 두가지가 아닌 경우에만 true로 반환하게 됩니다 .

활용법은 아래와 같습니다.

if(isMobileYn()){
    // CASE 모바일 브라우저인 경우
    alert("모바일기기입니다.");
}else{
    // CASE PC 브라우저인 경우
    alert("PC브라우저입니다.");
}
반응형