Создать WURFL-патч, соответствующий частичному агенту пользователя

Я использую WURFL, чтобы определить, находится ли пользователь на мобильном устройстве. Некоторые строки User-Agent неправильно распознаются как мобильные устройства, что, в свою очередь, приводит к неправильной настройке типа контента.

Вот пример реального агента пользователя, который ведет себя так:

Mozilla/5.0 (GTmetrix http://gtmetrix.com/; X11; U; Linux i686 (x86_64); en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13

Тип содержимого затем устанавливается на application/vnd.wap.xhtml+xml вместо text/html,

Я хотел бы добавить запись в файл web_browsers_patch.xml, чтобы распознать его как не мобильный браузер.

Следующие работы:

<device id="mozilla_ver5"
    user_agent="Mozilla/5.0 (GTmetrix http://gtmetrix.com/; X11; U; Linux i686 (x86_64); en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13"
    fall_back="generic_web_browser" />

Однако для того, чтобы не нужно было добавлять все возможные варианты пользовательского агента, я бы хотел сопоставить его частично. Что-то вроде:

<device id="mozilla_ver5"
    user_agent="Mozilla/5.0 (GTmetrix"
    fall_back="generic_web_browser" />

К сожалению, это не работает - тип содержимого страницы снова установлен неправильно.

Можно ли добавить исправление WURFL, соответствующее частичным строкам агента пользователя? Как?

(Связанный бонусный вопрос: как определить, с каким профилем была сопоставлена ​​строка пользовательского агента?)

Я использую API 51Degrees Foundation, доступный по адресу http://51degrees.codeplex.com/

1 ответ

Если вы используете 51Degrees, вы можете разобрать некоторые объекты, которые он возвращает. Посмотрите здесь: http://51degrees.mobi/Support/Documentation/Foundation/WURFLMappingTable.aspx

Это должно дать вам user_agent и множество других свойств в соответствии с вашими потребностями.

Другие вопросы по тегам