如何检测没有 chrome 的移动 safari?
Posted
技术标签:
【中文标题】如何检测没有 chrome 的移动 safari?【英文标题】:How to detect mobile safari without chrome? 【发布时间】:2015-01-13 21:49:06 【问题描述】:我正在尝试了解如何检测用户何时在移动 Safari 中打开我的网站。 Chrome 和 safari 具有完全相同的参数: Chrome "Mozilla/5.0 (iPad; CPU OS 8_1_2 like Mac OS X) AppleWebKit/600.1.4 (Khtml, like Gecko) Version/8.0 Mobile/12B440 Safari/600.1.4" Safari "Mozilla/5.0 (iPad; CPU OS 8_1_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B440 Safari/600.1.4" 有什么方法可以只检测移动 safari?
【问题讨论】:
【参考方案1】:Chrome 开发者网站声明:
Chrome for ios 中的 UA 与 Mobile Safari 用户代理相同,使用 CriOS/ 而不是 Version/
。
所以正确的用户代理检查将是:
var ua = navigator.userAgent;
if (ua.match(/(iPod|iPhone|iPad)/) !== null && ua.match(/AppleWebKit/) !== null && ua.search('CriOS') < 0)
alert("You are using Mobile Safari!");
else
alert("Whatever this is, it's not Mobile Safari...");
这是小提琴 - https://jsfiddle.net/h8j9n2m5/1/。在 iPad iOS 7.0.4、Mobile Safari 7.0 上检查了自己,就像一个魅力 :)
【讨论】:
以上是关于如何检测没有 chrome 的移动 safari?的主要内容,如果未能解决你的问题,请参考以下文章
移动 Safari/Chrome 上的 Angular 应用程序中出现严重的键盘延迟
关闭会话时未删除移动浏览器(chrome、safari)cookie