最近一段时间,都在使用Jquery-Mobile + MVC做手机Web,有一些心得、体会
下面介绍如何拒绝电脑访问手机网站
电脑的浏览器,跟手机的浏览器内核不一样,这是我设置拒绝访问的思路。
下面是我已经封装好了的一个拒绝访问的一个方法
public static class IsMobileDevice
{
/// <summary>
/// 是否为手机访问
/// </summary>
/// <param name="strUserAgent">获取机型、浏览器等型号</param>
/// <returns>true 是手机访问;false 不是手机访问</returns>
public static bool IsMobile(string strUserAgent)
{
if (strUserAgent != null)
{
if (System.Web.HttpContext.Current.Request.Browser.IsMobileDevice == true ||
strUserAgent.Contains("iphone") ||
strUserAgent.Contains("blackberry") ||
strUserAgent.Contains("mobile") ||
strUserAgent.Contains("windows ce") ||
strUserAgent.Contains("opera mini") ||
strUserAgent.Contains("palm") ||
strUserAgent.Contains("mobi") ||
strUserAgent.Contains("nokia") ||
strUserAgent.Contains("samsung") ||
strUserAgent.Contains("sonyericsson") ||
strUserAgent.Contains("mot") ||
strUserAgent.Contains("lg") ||
strUserAgent.Contains("htc") ||
strUserAgent.Contains("j2me") ||
strUserAgent.Contains("ucweb")
)
return true;
else
return false;
}
else
return false;
}
}
下面是MVC中的一个测试页面
通过Request.UserAgent,可以获取当前客户端的完整代理字符串,我目前是使用的谷歌浏览器,可以看到进入了我自己定义的一个错误页面
然后在使用安卓、苹果访问,均能测试成功。
在做手机网站的时候,由于布局等,完全跟PC端不一样,所以需要进行过滤,希望这个简单的方法能够帮到您。