반응형

 

Behide Code에서 브라우저 체크를 해야만 했다.

그 이유는 유튜브가 2020년 3월 1일부터 익스플로러에서 유튜브를 지원하지 않기 때문에

익스플로러에서 예외처리가 필요했기 때문이다.

 

사실, Javascript에서 UserAgent를 이용해서 체크해도 문제는 없었다.

Javascript에서 UserAgent를 이용해서 웹 / 모바일 분기 처리하는 코드는 이전 글을 참고하자.

 

2019/12/04 - [개발/Javascript] - [Javascript] 웹 / 모바일 분기 처리 방법.

 

[Javascript] 웹 / 모바일 분기 처리 방법.

사용자가 PC 로 접속했는지, 모바일 환경으로 접속했는지는 분기 처리해야 하는 경우가 많다. 그 이유는 다양하다. 일단 나의 경우에는 카카오톡 공유하기 버튼은 PC 환경에서 적용되지 않는다. 그렇기 때문에 PC..

im-first-rate.tistory.com

 

하지만 Behide Code에서 체크하는 것이 더 좋다고 판단했기에, 찾아낸 결과를 공유해 본다.

 

결과는 HttpCapabilitiesBase 클래스를 이용한다.

해당 클래스는 클라이언트 브라우저의 기능에 대한 세부 정보를 확인할 수 있는 클래스이다.

HttpCapabilitiesBase.Browser 속성에서 사용자가 접속한 브라우저 정보를 얻을 수 있다.

Request.Browser도 사용해야하는데,

아래와 같이 다양한 정보가 Request.Browser에 담겨있다.

 

 

말해 뭐하냐, 코드를 확인해보자.

 

1
2
3
4
var browser = ((HttpCapabilitiesBase)(Request.Browser)).Browser.ToLower();
if (browser.Equals("internetexplorer")){
    // 실행코드
}
cs

 

코드는 간단하다.

Request.Browser을 RequestHttpCapabilitiesBase 클래스로 캐스팅해서, Browser속성을 이용하여 사용자의 브라우저 정보를 알 수 있다.

 

MSDN에서 익스플로러를 비교할 때,

.ToUpper().IndexOf("IE") >= 0 로 확인했는데 내가 테스트해봤을 때에는 브라우저 값이 InternetExplorer로 나왔다.

그래서 MSDN과 다르게 확인했다. (크롬은 정상적으로 Chrome로 나왔다.)

 

그리고 RequestHttpCapabilitiesBase 클래스에서 IsMobileDevice 속성 값이 있었다.

PC / Mobile 환경 체크를 속성 값 하나로 한 번에 할 수 있어서 편리했다. (자주자주 써야 할 듯싶다.)

 

반응형

+ Recent posts