2

我打算在 Web 应用程序中使用 Wurfl 来区分移动设备和桌面浏览器。net.sourceforge.wurfl.core.utils 中的 isMobileBrowser(String userAgent) 似乎是执行此操作的合适函数。

尽管如此,查看 1.0.1-rc3 的源代码我可以看到,如果用户代理字符串不包含“Tablet”字样,它总是返回 false。我正在阅读这篇文章http://wurfl.sourceforge.net/newapi/,我想使用那里描述的模糊匹配来识别设备。可能是我使用了错误的功能吗?如果是这种情况,请您指出正确的方向吗?

另外,你知道我在哪里可以找到 1.0.1-rc4 的源代码吗?

4

4 回答 4

4

您必须使用这些功能:

if(is_wireless_device=false and device_claims_web_support=true) {
the request is from web browser
}

通过

于 2010-04-13T14:58:45.453 回答
2

if($device->getCapability('is_wireless_device') == 'true') { //这是一个移动设备 } else { // 这是一个浏览器 }

这就是我用来做我的移动设备与浏览器检测的东西......目前可以无缝运行。

于 2010-11-03T07:16:20.083 回答
0

我们调整了 wurfl.xml 文件以检测桌面。

<device id="generic_web_browser" user_agent="DO_NOT_MATCH_GENERIC_WEB_BROWSER" fall_back="generic">
    <group id="product_info">
      <capability name="has_qwerty_keyboard" value="true"/>
      <capability name="pointing_method" value="mouse"/>
       <capability name="device_os" value="**Desktop**"/> <!--Added desktop OS-->
      <capability name="model_name" value=""/>
      <capability name="can_skip_aligned_link_row" value="true"/>
      <capability name="device_claims_web_support" value="true"/>
      <capability name="is_wireless_device" value="false"/>
      <capability name="brand_name" value="generic web browser"/>
      <capability name="can_assign_phone_number" value="false"/>
      <capability name="release_date" value="1994_january"/>
    </group>

我们正在使用带有 Liferay 插件的 WURFL,这对我来说很好用

于 2013-09-10T06:24:01.140 回答
0

在当前的 Wurfl 版本中,有一个“is_tablet”参数。 Wurfl 帮助文档

于 2013-09-13T01:28:16.923 回答