Mobile 如何使用wurfl检测桌面浏览器与移动设备?
我计划在web应用程序中使用Wurfl,以便区分移动设备和桌面浏览器。net.sourceforge.wurfl.core.utils中的isMobileBrowser(字符串用户代理)似乎是实现这一点的合适函数 尽管如此,通过查看1.0.1-rc3的源代码,我可以看到,如果用户代理字符串不包含“Tablet”字,它总是返回false。我正在阅读这篇文章,我想使用这里描述的模糊匹配来识别设备。可能是我使用了错误的功能吗?如果是这样的话,你能告诉我正确的方向吗Mobile 如何使用wurfl检测桌面浏览器与移动设备?,mobile,wurfl,Mobile,Wurfl,我计划在web应用程序中使用Wurfl,以便区分移动设备和桌面浏览器。net.sourceforge.wurfl.core.utils中的isMobileBrowser(字符串用户代理)似乎是实现这一点的合适函数 尽管如此,通过查看1.0.1-rc3的源代码,我可以看到,如果用户代理字符串不包含“Tablet”字,它总是返回false。我正在阅读这篇文章,我想使用这里描述的模糊匹配来识别设备。可能是我使用了错误的功能吗?如果是这样的话,你能告诉我正确的方向吗 另外,您知道在哪里可以找到1.0.1
另外,您知道在哪里可以找到1.0.1-rc4的源代码吗?您必须使用这些功能:
if(is_wireless_device=false and device_claims_web_support=true) {
the request is from web browser
}
如果($device->getCapability('is\u wireless\u device')=='true')
{//这是一个移动设备}
其他的
{//这是用于浏览器的}
这是我用来做我的移动设备与浏览器检测。。。目前可以无缝工作。我们调整了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>
我们正在将WURFL与Liferay插件一起使用,这对我来说很好从当前WURFL版本开始,有一个“is_tablet”参数。
如果我使用您建议的代码,我将需要如下内容:getDeviceForRequest(WURFLRequest请求);获取设备对象,然后获取并检查这两个功能。我试图在WurflAPI中找到一个高级方法。net.sourceforge.wurfl.core.utils中的函数isMobileBrowser(String userAgent)似乎是合适的,但检查了源代码后,我发现它没有达到我的预期。Sry,我已更改了答案。是的,你必须使用这些功能。你知道为什么会有方法isMobileBrowser(stringuseragent)吗?。您可以在这里找到javadoc:。我对这个方法有点困惑。Sry,但我不知道为什么,所以它是一个内部方法。通过谷歌搜索我发现msie使用Tablet PC:我在wml编程组问了同样的问题,我找到了我需要的所有答案:)。执行此操作时,Firefox会将if语句传递给ummm。。这就回答了如何解决这个问题??