我使用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补丁?如何?
(相关问题:如何确定用户代理字符串与哪个配置文件匹配?)
我使用的51Degrees Foundation API可在http://51degrees.codeplex.com/
如果您正在使用51Degrees,您可以拆分它返回的一些对象。看看这里:http://51degrees.mobi/Support/Documentation/Foundation/WURFLMappingTable.aspx
这将为您提供user_agent和一组其他属性以满足您的需要。