3

条件 嗨,目前我有一个功能来检测客户端请求是否来自移动设备。功能如下。

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;
        }

问题: 这不足以检测手持设备,所以我通过互联网获得了一个字符串列表来比较它是否包含在 Userstring 中

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

如果设备继续增加,那么这个列表会很长

我想扭转这种情况。我想检测请求是来自 PC 还是笔记本电脑,而不是来自手持设备。有什么办法吗?还是我想错了?

4

1 回答 1

2

这是一个不错的博客,我认为这会对您有所帮助。

它建议使用request.Browser.IsMobileDevice

于 2013-08-08T10:10:58.640 回答