안녕하세요~ 작은나무입니다!!
오늘은 프로그래밍 작업시 PC,모바일 접속기기를 확인하여 분기처리하는 부분을 작성해 보도록 하겠습니다.
Searching을 통해 확인을 해보면, 자바스크립트로 구현된 부분은 있는대 C#으로 되어 있는 걸 못본 것 같아 작성하여 공유합니다.
C#에서 클라이언트 브라우저 정보를 가져오는 방법은 바로~ 요놈 입니다.
HttpContext.Current.Request.UserAgent;
코드 비하인드에서 위와 같이 입력하여 클라이언트의 브라우저 정보를 가져올 수 있습니다.
HttpContext는 웹 문서의 정보를 가져오도록 설정할 수 있는 클래스입니다.
Current.Request는 현재 상호간의 응답 관련 부분의 Data를 지니게 됩니다.
웹브라우저의 디버깅모드(F12)를 통해서도 알아볼 수 있습니다.(data-useragent)
public static bool MachineCheck(string MobileGnb) {
string userAgent = HttpContext.Current.Request.UserAgent;
bool isMobile = false;
//모바일인지 PC인지 CHECK
if (MobileGnb == "MOBILE") {
string[] browser = { "iphone", "ipod", "ipad", "android", "blackberry", "windows ce", "nokia", "webos", "opera mini", "sonyericsson", "opera mobi", "iemobile", "windows phone" };
for (int i = 0; i < browser.Length; i++) {
if (userAgent.ToLower().Contains(browser[i]) == true) {
isMobile = true;
break;
}
}
} else if (MobileGnb == "IPHONE") {
//아이폰, 안드로이드 CHECK(아이폰일경우 true)
if (userAgent.IndexOf("iPhone") > 0 || userAgent.IndexOf("iPad") > 0 || userAgent.IndexOf("iPod") > 0) {
isMobile = true;
}
}
return isMobile;
}
PC,모바일을 구분할수 있으며, 아이폰, 안드로이드폰도 구분이 가능합니다.