WURFL не обнаружил FireFox 4 успешно - PullRequest
3 голосов
/ 30 марта 2011

Я использую стороннее приложение для обнаружения устройств под названием FiftyOne Degrees (http://51degrees.mobi).

Это приложение использует WURFL (http://wurfl.sourceforge.net/), чтобы узнать, какой тип устройства запрашивал страницу на основе пользовательского агента.

Это прекрасно работает, за исключением новой Fire Fox 4. Я думаю, это потому, что FF4 был выпущен 22 марта 2011 года, а WURFL последний раз обновлялся 6 марта 2011 года.

Кто-нибудь еще сталкивался с этой проблемой? Есть ли обходные пути?

Ответы [ 3 ]

4 голосов
/ 31 марта 2011

Вам также может понадобиться пересобрать FiftyOne.Foundation.dll, источник можно найти здесь:

http://51degrees.codeplex.com/

С новым dll и обновленным файлом web_browsers_patch.xml вПапка App_Data Мне удалось решить проблемы с перенаправлением мобильного телефона FF4.

Это XML-файл, который я использовал:

<device user_agent="Firefox/4.0" fall_back="firefox" id="firefox_4">
  <group id="product_info">
    <capability name="model_name" value="4.0" />
  </group>
</device>

Я использовал старую версию DLL, а один XML не былдостаточно, чтобы распознать FF4.

1 голос
/ 30 марта 2011

Я думаю, что самым простым способом было бы посмотреть файл патча веб-браузера для wurl.(http://wurfl.sourceforge.net/web_browsers_patch.xml) Он содержит все браузеры, которые обычно используют люди. Этот файл должен быть в вашей папке App_Data. Вы должны просто обновить файл патча со ссылкой на Firefox 4 и объявить резервный тип браузера.

Я использую строку агента пользователя, найденную здесь: http://hacks.mozilla.org/2010/09/final-user-agent-string-for-firefox-4/

<device user_agent="Firefox/3.5" fall_back="firefox" id="firefox_3_5">
 <group id="product_info">
  <capability name="model_name" value="3.5"/>
 </group>
</device>

может измениться на:

<device user_agent="Firefox/4.0" fall_back="firefox" id="firefox_4_0">
 <group id="product_info">
  <capability name="model_name" value="4.0"/>
 </group>
</device>

У меня раньше не было этой проблемы, ноэто то, как я бы подошел к вашей проблеме. Надеюсь, это поможет:)

0 голосов
/ 01 апреля 2011

Вот обходной путь, который я нашел, сработал для меня.

Я добавил следующее в web_browsers_patch.xml, затем сделал iisreset.

  <!-- work around -->
    <device user_agent="Firefox/4.0" fall_back="firefox" id="firefox_4">
      <group id="product_info">
        <capability name="model_name" value="4"/>
        <capability name="is_wireless_device" value="false"/>
      </group>
    </device>
    <device user_agent="Firefox/4.0" fall_back="firefox" id="sony_mylo_ver1_sub1" >
      <group id="product_info">
        <capability name="model_name" value="4"/>
      </group>
    </device>
    <device user_agent="Firefox/4.0" fall_back="firefox" id="sony_mylo_ver1" >
      <group id="product_info">
        <capability name="model_name" value="4"/>
      </group>
    </device>
    <device user_agent="Firefox/4.0" fall_back="firefox" id="stupid_novarra_proxy_sub73" >
      <group id="product_info">
        <capability name="model_name" value="4"/>
      </group>
    </device>
  <!-- end work around -->
...