Я использую 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/