“Ubuntu” 在浏览器用户代理字符串中的具体位置的理由是什么?

“Ubuntu” 在浏览器用户代理字符串中的具体位置的理由是什么?

Firefox 将“Ubuntu”放在“X11”之前,而 Chromium 将其放在字符串的后面(“(KHTML,like Gecko)”之后)。

曾经有过网站无法识别 Firefox 的情况仅当发行版是 Ubuntu 时:在两种情况下(http://www.summitracing.com/ 和http://translink.com.au/),看来网站管理员已经以某种方式修复了这个问题。我上次检查时,第三个实例 (http://www.property24.com/) 尚未修复。

在第一种和第三种情况下,相关页面无法打开,用户被要求下载“Mobile.aspx”之类的内容。在第二种情况,用户获得了针对移动平台的加价。

其他 Linux 发行版的用户没有遇到问题,使用直接从 Mozilla 下载的 Firefox 版本的用户也没有遇到问题。

Ubuntu 上的 Chromium 用户也没有遇到此问题。

在发布时,http://www.property24.com/仍然提供下载Mobile.aspx,并且如果“Ubuntu”出现在“X11”之前,则无法正确打开页面。

如果我将用户代理字符串调整为Mozilla/5.0 (X11; Linux i686; rv:11.0a2) Gecko/20120114, Ubuntu, Firefox/11.0a2,页面加载将不会出现问题。

问题http://www.property24.com/正在讨论这里正如指出的那样奥基超过这里

“summitracing”问题被举报这里

编辑错误 89774与将“Ubuntu”引入 UA 字符串引起的问题有关。已“修补”的 Firefox 测试版可供测试。ppa 的详细信息可从以下网址获取Chris Coulson 的博客

答案1

回答你的问题...没有理由。

浏览器供应商或软件包维护者没有遵循统一的用户代理字符串格式规则。因此,没有网站可以在提供页面时依赖该字符串来获取准确信息。

您描述的问题是由于网站的开发实践不佳造成的,而不是 UA 字符串中的错误。

參考文獻:http://www.sitepoint.com/why-browser-sniffing-stinks/

相关内容