[Javascript] 웹/앱, 어플/브라우저 구분하기

 

var filter = "win16|win32|win64|mac|MacIntel";

if ( navigator.platform ) {
	if ( filter.indexOf(navigator.platform.toLowerCase() < 0 ) {
    	// 모바일, 태블릿으로 접속한 경우 처리
    }
}

[ 모바일,태블릿과 PC를 구분하는 방법]

 

기존 사용하고 있던 모바일,태블릿 / PC 구분을 

 

어플리케이션 / 브라우저 구분으로 변경하려고 한다.

 

결과부터 말하자면, Native 소스 (어플) 의 userAgent 의 값을 이용하면 가능하다.

 

세팅하는 방법은 다른 블로그를 찾다보니 다음과 같이 가능하다고 한다.

webView.getSettings().setUserAgentString(webView.getSettings().getUserAgentString + " 구분자값");

 

세팅을 하게 되면, 크롬의 개발자도구 Network - Header - User-Agent 의 제일 끝 부분.

하단 이미지의 빨간색 부분에 구분자값이 세팅이 된다.

 

 

스크립트 단에서 userAgent를 가져와서, 다음과 같이 필요한 작업에 사용하면 된다.

 

var uAgent = navigator.UserAgent.toLocalLowerCase();

if ( uAgent.search("세팅한 구분자값") > -1 ) {
	// 처리 내용
}

 

현재 내 입장에선 Native 소스에 직접적으로 접근은 불가능한 상황이었는데,

 

다행히도 userAgent 값에 어플 접속 구분자(app-android, app-ios)가 등록되어 있어서 쉽게 처리할 수 있었다.

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기