我计划在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的源代码吗?
答案 0 :(得分:4)
您必须使用这些功能:
if(is_wireless_device=false and device_claims_web_support=true) {
the request is from web browser
}
答案 1 :(得分:2)
if($ device-> getCapability('is_wireless_device')=='true') {//这是移动设备} 其他 {//这是针对浏览器的}
这就是我用来做我的移动设备和浏览器检测...目前无缝工作。
答案 2 :(得分: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>
我们正在使用WURFL和Liferay插件,这对我来说很好用
答案 3 :(得分:0)
截至目前的Wurfl版本,有一个“is_tablet”参数。 Wurfl Help Doc