适用于iPad的Chrome for iOS用户代理

时间:2012-07-02 13:57:55

标签: ios google-chrome http-headers user-agent

我有一个网页,当从iOS设备查看时,显示的内容略有不同。要检测相关设备,该网站会在用户代理字符串中查找iPad;iPod;iPhone;

这适用于所有iOS设备上的Safari。使用Chrome for iOS进行测试适用于iPhone和iPad 1,但不适用于iPad 3.该网站获得以下(意外)用户代理字符串:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.53.11 (KHTML, like Gecko) Version/5.1.3 Safari/534.53.10

这似乎与Chrome菜单中的“请求桌面网站”选项有关(桌面镶边中的扳手图标是什么)。对于我的网站,它已被禁用,似乎被锁定在桌面而不是移动网站上。对于其他站点,它已启用并导致在选择时发送不同的用户代理字符串。例如:尝试http://ifconfig.me/all

所以我的问题是:

  • Chrome使用什么标准来决定是否启用此选项
  • 鉴于Chrome已将此网站强制用于桌面网站,如何呈现iOS特定内容(在我的情况下是使用由我的应用处理的协议的链接)

如果你想自己测试一下,这里的页面只反映了用户代理字符串。

1 个答案:

答案 0 :(得分:14)

浏览器将根据您是否充当伪装成桌面浏览器的移动浏览器,在使用两个用户代理字符串之间切换。

用户代理:

Mozilla/5.0 (iPhone; U; CPU iPhone OS 5_1_1 like Mac OS X; en-gb)
AppleWebKit/534.46.0 (KHTML, like Gecko)
CriOS/19.0.1084.60 Mobile/9B206 Safari/7534.48.3

“请求桌面版”后的用户代理:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3)
AppleWebKit/534.53.11 (KHTML, like Gecko)
Version/5.1.3 Safari/534.53.10

这只是Web服务器关于客户端的提示。浏览器应独立于用户代理呈现收到的Web内容。