判断客户端设备

public  static  bool isMobileBrowser()
{
     // GETS THE CURRENT USER CONTEXT
    HttpContext context = HttpContext.Current;

     // FIRST TRY BUILT IN ASP.NT CHECK
     if (context.Request.Browser.IsMobileDevice)
    {
         return  true;
    }
     // THEN TRY CHECKING FOR THE HTTP_X_WAP_PROFILE HEADER
     if (context.Request.ServerVariables[ " HTTP_X_WAP_PROFILE "] !=  null)
    {
         return  true;
    }
     // THEN TRY CHECKING THAT HTTP_ACCEPT EXISTS AND CONTAINS WAP
     if (context.Request.ServerVariables[ " HTTP_ACCEPT "] !=  null && 
        context.Request.ServerVariables[ " HTTP_ACCEPT "].ToLower().Contains( " wap "))
    {
         return  true;
    }
     // AND FINALLY CHECK THE HTTP_USER_AGENT 
    
// HEADER VARIABLE FOR ANY ONE OF THE FOLLOWING
     if (context.Request.ServerVariables[ " HTTP_USER_AGENT "] !=  null)
    {
         // Create a list of all mobile types
         string[] mobiles =
             new[]
                {
                     " midp "" j2me "" avant "" docomo "
                     " novarra "" palmos "" palmsource "
                     " 240x320 "" opwv "" chtml ",
                     " pda "" windows ce "" mmp/ "
                     " blackberry "" mib/ "" symbian "
                     " wireless "" nokia "" hand "" mobi ",
                     " phone "" cdm "" up.b "" audio "
                     " SIE- "" SEC- "" samsung "" HTC "
                     " mot- "" mitsu "" sagem "" sony "
                    ,  " alcatel "" lg "" eric "" vx "
                     " NEC "" philips "" mmm "" xx "
                     " panasonic "" sharp "" wap "" sch ",
                     " rover "" pocket "" benq "" java "
                     " pt "" pg "" vox "" amoi "
                     " bird "" compal "" kg "" voda ",
                     " sany "" kdd "" dbt "" sendo "
                     " sgh "" gradi "" jb "" dddi "
                     " moto "" iphone "
                };

         // Loop through each item in the list created above 
        
// and check if the header contains that text
         foreach ( string s  in mobiles)
        {
             if (context.Request.ServerVariables[ " HTTP_USER_AGENT "].
                                                ToLower().Contains(s.ToLower()))
            {
                 return  true;
            }
        }
    }

     return  false;
}

来源:http://www.codeproject.com/KB/aspnet/mobiledetect.aspx 

转载于:https://www.cnblogs.com/alronzhang/archive/2011/11/22/aspnet.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值