当前位置: 代码迷 >> ASP.NET >> 怎么区分是手机访问网站,还是PC访问网站
  详细解决方案

怎么区分是手机访问网站,还是PC访问网站

热度:2912   发布时间:2013-02-25 00:00:00.0
如何区分是手机访问网站,还是PC访问网站?
现在客户有这样一个需求,
 www.avene.cn 是用来给电脑访问的 产品 官网,
 http://avene.wapg.cn/home/avene/?user=www 是给pc访问的 产品官网 。

如果, 用手机访问 www.avene.cn ,那么自动跳转至 http://avene.wapg.cn/home/avene/?user=www 

如果,用电脑访问 http://avene.wapg.cn/home/avene/?user=www ,自动跳转至 www.avene.cn  



不知道描述清楚没有,请高手赐教?给点具体方案和代码。

------解决方案--------------------------------------------------------
http://www.developershome.com/wap/wcss/wcss_tutorial.asp?page=toDiffUserAgents2
http://lianj-lee.javaeye.com/blog/460226
------解决方案--------------------------------------------------------
判断"User-Agent" 信息. 之后把每一种手机的型号都列出来. 能列多少是多少.

我这里有一个. 现在在用. 不知道全不全.

如果要求严格的话, 能加几种判断方式.

C# code
        /// <summary>        /// 是否手机上网        /// </summary>        /// <returns></returns>        public static bool IsMobile()        {            string m = "nokia|sony|ericsson|mot|samsung|sgh|lg|sie|philips|panasonic|alcatel|lenovo|cldc|midp|wap|mobile";            string ua = HttpContext.Current.Request.UserAgent;            if (Regex.IsMatch(ua, m, RegexOptions.IgnoreCase))                return true;            else                return false;        }
------解决方案--------------------------------------------------------
不懂,没装,不要分,来学习
------解决方案--------------------------------------------------------
支持8楼的
------解决方案--------------------------------------------------------
探讨

引用:

判断"User-Agent" 信息. 之后把每一种手机的型号都列出来. 能列多少是多少.

我这里有一个. 现在在用. 不知道全不全.

如果要求严格的话, 能加几种判断方式.

C# code

/// <summary>
/// 是否手机上网
/// </summary>
/// <returns></return……


……

------解决方案--------------------------------------------------------
或者判断不是电脑就显示手机页面. 之后在页面最下方放一个电脑版的链接. 好多手机站也是这样的.
------解决方案--------------------------------------------------------

你的原帖里面有孟子的回答. 还想啥. 直接用啊.

类似
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"))
{
Response.Redirect("DefaultMobile.aspx");
}
}

也可以采用
((System.Web.Configuration.HttpCapabilitiesBase)Request.Browser).IsMobileDevice
属性直接大概判断
------解决方案--------------------------------------------------------
探讨

我也觉得判断 pc,其他归到电脑一类 更好。但是 pc 请求的 UserAgent 信息中,有啥特殊之处呢?

HttpContext.Current.Request.Headers["user-agent"].ToLower().ToString().IndexOf("mozilla") != -1)

这个可否? 今天上不了测试了,我明天测试下

------解决方案--------------------------------------------------------
学习一下。。。。。
------解决方案--------------------------------------------------------
youku貌似使根据ip地址来区分的.
wifi打开www.youku.com不跳转
3g打开则跳转
------解决方案--------------------------------------------------------
友情帮顶 我也想知道答案
------解决方案--------------------------------------------------------
LZ。。我昨天看了你参演的《敢死队》。。。

你飞刀还有点小准。。。
  相关解决方案