【问题标题】:Mobile device is detected as non mobile device移动设备被检测为非移动设备
【发布时间】:2010-09-06 00:10:50
【问题描述】:

我在我的 asp.net 项目中包含了一个移动 Web 表单,我认为它可以/应该只为我的移动用户看到,但我意识到它也可以从任何浏览器中看到,我看不到那里的问题导致我可以使用 HttpBrowserCapabilities.IsMobileDevice=true 区分访问并转移到适当的 aspx 页面,但结果是当我从移动设备访问 Web 表单时,它被识别为 IsMobileDevice = false 并将我发送到另一个页面.

这怎么可能?

移动设备运行的是 Pocket PC 2003。

【问题讨论】:

    标签: asp.net mobile mobile-website


    【解决方案1】:

    恕我直言:HttpContext.Current.Request.Headers("User-Agent") 的值更安全,因为它实际上指示发出请求的浏览器,而不是设备类型per-se

    我从经验中了解到,如果智能手机通过第三方浏览器向您的服务发出请求,则通常不会有任何类型的“您是什么类型的设备”测试 (HttpCapabilitiesBase.IsMobileDevice和/或HttpContext.Current.Request.Browser.IsMobileDevice) 将失败。

    不幸的是,由于缺少大量允许的用户代理(或不允许的用户代理),您只需要在渲染之前确保它不以 Mozilla、iPhone 或 Opera 开头页面...

    这是一个很难玩的竞技场。
    祝你好运。

    【讨论】:

      【解决方案2】:

      有些无法识别,因为 UserAgent 被弄乱了或正在使用新的浏览器。比如Opera Mobile 9.5。要解决这个问题,您需要创建一个专门用于定义它的浏览器 (*.browser) 文件。我必须为从 Google 发送的新的基于 Mozilla 的 UserAgent 做这件事。

      【讨论】:

        【解决方案3】:

        我认为您应该使用比 Microsoft 浏览器功能更好的其他 DDR。我正在使用 http://wurfl.sourceforge.net>WURFL,它是开源的,也许它得到了更多的扩展和更新。还有其他商业 DDR,例如 DeviceAtlas

        有很多 .net 库,但我使用的是 Marg.Wurfl。它允许使用 wurfl 功能呈现网页移动页面。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-11-20
          • 2021-04-14
          • 1970-01-01
          • 2012-08-18
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多