日期:2014-05-18  浏览次数:20667 次

如何区分是手机访问网站,还是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。。我昨天看了你参演的《敢死队》。。。

你飞刀还有点小准。。。