我有一个网页,当从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
所以我的问题是:
如果你想自己测试一下,这里的页面只反映了用户代理字符串。
答案 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内容。