【问题标题】:IE9 getting detected as mobile via WURFLIE9 通过 WURFL 被检测为移动设备
【发布时间】:2012-08-18 17:01:57
【问题描述】:

我有一个 Ektron 站点,它使用 WURFL(最新版本,2.3.2)来检测设备。使用 IE9 浏览网站时,会向用户显示该网站的移动版本。

用户代理是-

Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)

当我在 WURFL homepage 上输入此 UA 时,它显示为通用网络浏览器。

但是,当使用 Asp.NET WURFL 库时,它会被检测为移动设备。

以下代码-

IWURFLManager wurflManager = wurflManagerProvider.WURFLManager;
IDevice device = wurflManager.GetDeviceForRequest(Request);
var device_os = device.GetCapability("device_os");
var device_os_version = device.GetCapability("device_os_version");
var device_model = device.GetCapability("model_name");

deviceinfo.Text += "WURFL Model: ";
deviceinfo.Text += device_model;

deviceinfo.Text += "WURFL Device OS: ";
deviceinfo.Text += device_os;

deviceinfo.Text += "WURFL Device OS Version: ";
deviceinfo.Text += device_os_version;

输出-

WURFL Model: Windows Mobile 7.5
WURFL Device OS: Windows Phone OS
WURFL Device OS Version: 7.5

为什么会这样?

【问题讨论】:

    标签: internet-explorer-9 user-agent wurfl mobile-devices ektron


    【解决方案1】:

    问题在于 WURFL 并非旨在区分桌面设备和移动设备。它只关注移动设备。台式机通常被检测为移动设备。 一种解决方法是包含一个 desktop_browser_patch.xml 文件。但是,您必须手动将 Firefox 15 和 16 添加到补丁文件中,并继续使用每个发布的 Firefox 版本对其进行更新。

    我发现最好在用户代理上使用正则表达式来确定它是桌面还是移动。如果它是移动设备,则仅使用 Wurfl 来检测设备功能。 网上有几个正则表达式。他们都是不完美的。还要检查 Request.Browser.IsMobileDevice。如果这是真的,那么它就是一个移动设备。如果这是错误的,那么它可能是也可能不是移动设备。

    【讨论】:

      【解决方案2】:

      我在这里聚会有点晚了,但我在这个问题上与 Ektron 支持人员合作。

      直到 Ektron 版本 8.6,他们都在使用 tholder WURFL API 驱动程序。而且它不能正常工作。它不仅将 IE 9 检测为移动浏览器,还没有将 Android OS 4.0+ 检测为移动浏览器(始终显示桌面)。

      补丁文件也没有解决问题。

      我得到这个问题的原因是因为它没有读取整个 wurfl.xml.gz 文件。

      在 Ektron 支持的多次反复来回之后,决定为 Ektron 8.6 制作一个修补程序来解决这个问题将是一项艰巨的任务。

      升级到 Ektron 8.7 可以解决这个问题,因为它使用新的 WURFL API 驱动程序并现在可以正确检测 IE 9 和 Android。

      【讨论】:

        猜你喜欢
        • 2010-09-06
        • 2023-03-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多