2010-04-13 101 views
2

我打算在Web應用程序中使用Wurfl以區分移動設備和桌面瀏覽器。來自net.sourceforge.wurfl.core.utils的isMobileBrowser(String userAgent)似乎是適當的功能。如何使用wurfl檢測桌面瀏覽器與移動設備?

不過看着1.0.1-rc3的源代碼,我可以看到如果用戶代理字符串不包含「平板」字,它總是返回false。我正在閱讀這篇文章http://wurfl.sourceforge.net/newapi/,我想使用那裏描述的模糊匹配來識別設備。我可能會使用錯誤的功能嗎?如果是這種情況,請你指點我的方向是否正確?

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

回答

4

你要使用這些功能:

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

via

+0

如果我使用你建議的代碼,我將需要這樣的東西:getDeviceForRequest(WURFLRequest request);獲取Device對象,然後獲取並檢查這兩個功能。 我試圖在wurfl api中找到高級別的方法。來自net.sourceforge.wurfl.core.utils的函數isMobileBrowser(String userAgent)似乎是合適的,但檢查了源代碼後,我發現它沒有達到我的預期。 – yeforriak 2010-04-13 15:24:13

+0

Sry,我改變了我的答案。是的,你必須使用這些功能。 – fravelgue 2010-04-13 15:25:51

+0

任何想法爲什麼方法是MobileBrowser(String userAgent)在那裏?在這裏你可以找到javadoc:http://wurfl.sourceforge.net/njava/javadocs/net/sourceforge/wurfl/core/utils/UserAgentUtils.html#isMobileBrowser(java.lang.String)。我對這種方法有點困惑。 – yeforriak 2010-04-13 15:34:34

2

如果($設備 - > getCapability( 'is_wireless_device')== '真') {//這是一個移動設備} 其他 {//這是一個瀏覽器}

這是我使用的是什麼做我的移動設備與瀏覽器檢測...目前無縫工作。

+0

這對我工作夥計.. – 2011-11-10 09:34:03

+1

當這樣做火狐通過if語句 – Martin 2011-11-24 00:05:52

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的插件,這是工作的罰款,我

+0

以上嗯..這回答這個問題怎麼? – 2013-09-10 06:42:44

相關問題