我有一个网页,从 iOS 设备查看时显示的内容略有不同。为了检测有问题的设备,站点会在用户代理字符串中查找iPad;
、iPod;
或。iPhone;
这在所有 iOS 设备上的 Safari 上都能完美运行。使用适用于 iOS 的 Chrome 进行测试,它适用于 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 菜单中的“请求桌面站点”选项有关(桌面 chrome 中的扳手图标是什么)。对于我的网站,它被禁用并且似乎被锁定到桌面而不是移动网站。对于其他站点,它已启用,并且在选择时会导致发送不同的用户代理字符串。例如:尝试http://ifconfig.me/all
所以我的问题是:
- Chrome 使用什么标准来决定是否启用此选项
- 鉴于 Chrome 已将此站点强制为桌面站点,我如何呈现 iOS 特定内容(在我的情况下,链接使用由我的应用程序处理的协议)
如果您想自己测试,这里有一个页面,它简单地反映了用户代理字符串。