【问题标题】:How can I detect the device from which my website is accessed?如何检测访问我网站的设备?
【发布时间】:2011-12-10 01:35:53
【问题描述】:

我有一个主要为桌面浏览器构建的 .NET 网站,但我目前正在制作它的移动版本。我要做的是根据用户访问网站的设备加载网站。有没有一种方法可以在用户请求站点时获取有关用户设备的信息?

问候, 苏米特。

【问题讨论】:

    标签: asp.net browser


    【解决方案1】:

    根据其他人的建议,您可以使用通过Request.Browser 访问的System.Web.HttpBrowserCapabilities 类,但是如果不更新browser definition files,这些信息完全没有价值。

    例如,如果您使用Request.Browser.IsMobileDevice,则此应该提供您想要的,但基于 Windows 中 .NET 框架文件夹中的一组非常过时的正则表达式。

    您可以在 Stack Overflow 上的 here 帖子(目前未得到答复和不受欢迎)上查看可能遇到的问题。

    如果您不打算让浏览器定义文件保持最新(这不是一项小任务),那么就不要走这条路

    如果您只是想知道用户是否在移动设备上查看,那么这里有几个选项:

    其中有些是免费的,有些不是,如果您真的只对它是否是移动设备感兴趣,我的建议是使用 Detect Mobile Browsers。

    【讨论】:

    • +1 不错的答案。内置的东西跟不上现在的许多设备。
    【解决方案2】:

    看看HttpBrowserCapabilities 类。

    使服务器能够收集有关客户端上运行的浏览器功能的信息。

    这实际上暴露在 Page 对象的 Request 属性上 - 在 ASP.NET 页面中,您可以执行以下操作:

    var browserCap = this.Request.Browser;
    

    【讨论】:

      【解决方案3】:

      您可以检查 HttpRequest.Browser 属性 - MSDN link

      【讨论】:

        【解决方案4】:

        【讨论】:

          【解决方案5】:

          商业替代品是BrowserHawk

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-06-06
            • 1970-01-01
            • 1970-01-01
            • 2012-09-25
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多