Создать WURFL-патч, соответствующий частичному пользовательскому агенту - PullRequest
3 голосов
/ 28 апреля 2011

Я использую 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 Ответ

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...