2013-08-08 3 views
2

상태 안녕하세요. 현재 클라이언트 요청이 모바일에서 발생했는지 여부를 감지하는 기능이 있습니다. 기능은 다음과 같습니다.UserAgent가 모바일에서 수신되지 않았습니다.

public bool IsHandheld() 
     { 
      bool status = false; 

      string strUserAgent = Request.UserAgent.ToString().ToLower(); 
      if (strUserAgent != null) 
      { 
       if (Request.Browser.IsMobileDevice == true || strUserAgent.Contains("iphone") || 
        strUserAgent.Contains("blackberry") || strUserAgent.Contains("mobile") || 
        strUserAgent.Contains("windows ce") || strUserAgent.Contains("opera mini") || 
        strUserAgent.Contains("palm")) 
       { 
        status = true; 
       } 
      } 
      return status; 
     } 

문제 : 장치가 되었다면이

new string[] { "blackberry" ,"iphone","mobile","windows ce","opera mini", 
        "palm","symbianos", "ipad", "symbianos", "ipod", "blackberry", 
        "sonyericsson", "android", "samsung", "nokia", "wap", "motor" 
       }); 

Userstring에 포함되는 경우이 그래서 비교 인터넷을 통해 문자열의 목록을 가지고 를 핸드 헬드 장치를 검색하는 것만으로는 충분하지 않습니다 incresaing에 그 때이 명부는 길 것입니다

나는 조건을 반전하고 싶다. 요청이 핸드 헬드 장치가 아닌 PC 또는 랩톱에서 발생했는지 감지하고 싶습니다. 그렇게 할 방법이 있습니까? 아니면 잘못된 생각입니까?

+0

중복 가능성 [자동 검출 모바일 브라우저 (사용자 에이전트를 통해?) (http://stackoverflow.com/questions/1005153/auto-detect-mobile -Browser-via-user-agent) – Thilo

+0

@Thilo 기기의 유형을 PC/노트북에서 찾지 못하도록하고 싶습니다. – mesimplybj

+1

다른 질문이 무엇인지 정확하게 생각합니다. 귀하를 방문하는 브라우저가 모바일 브라우저인지 또는 데스크톱 브라우저. – Thilo

답변

관련 문제