Как обнаружить настольный браузер против мобильного устройства с помощью wurfl? - PullRequest
2 голосов
/ 13 апреля 2010

Я планирую использовать Wurfl в веб-приложении, чтобы различать мобильное устройство и настольный браузер. IsMobileBrowser (String userAgent) из net.sourceforge.wurfl.core.utils кажется подходящей функцией для этого.

Тем не менее, глядя на исходный код 1.0.1-rc3, я вижу, что если строка пользовательского агента не содержит слова "Tablet", она всегда возвращает false Я читал эту статью http://wurfl.sourceforge.net/newapi/ и хотел бы использовать нечеткое совпадение, описанное там, для идентификации устройств. Возможно ли, что я использую неправильную функцию? Если это так, не могли бы вы указать мне правильное направление?

Кроме того, вы знаете, где я могу найти исходный код для 1.0.1-rc4?

Ответы [ 4 ]

4 голосов
/ 13 апреля 2010

Вы должны использовать эти возможности:

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

через

2 голосов
/ 03 ноября 2010

if ($ device-> getCapability ('is_wireless_device') == 'true') {// Это мобильное устройство} еще {// это для браузера}

Это то, что я использую для обнаружения своего мобильного устройства по сравнению с браузером ... В настоящее время работает без проблем.

0 голосов
/ 13 сентября 2013

Начиная с текущей версии Wurfl существует параметр is_tablet. Справочный документ Wurfl

0 голосов
/ 10 сентября 2013

Мы подправили файл 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, и это прекрасно работает для меня

...