Detect UserAgent不是来自Mobile



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

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还是笔记本电脑,而不是来自手持设备。有什么办法吗?还是我的思维方式不对?

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

建议使用request.Browser.IsMobileDevice

相关内容

  • 没有找到相关文章

最新更新