检测用户是否通过iphone上的safari移动浏览器导航
Detect if the user is navigating through the safari mobile browser on iphone
我正在尝试检测用户是否正在使用jquery/javascript从iphone的safari浏览器浏览我的网站。
我能够使用用户代理字符串
检测IOS环境 /iphone/i.test(navigator.userAgent.toLowerCase())
但这检测到Apple Webkit环境,即它对设备上的所有浏览器都是相同的。有人能提出不同的建议吗?
更新:
试试这个,在iPhone中检测Safari浏览器:
var isSafari = !!navigator.userAgent.match(/Version'/['d'.]+.*Safari/);
它识别Safari 3.0+并将其与Chrome区分开来。
JsFiddle
因为另一个答案不包括iPhone的检测,包括那部分。
var isIphone = /(iPhone)/i.test(navigator.userAgent);
var isSafari = !!navigator.userAgent.match(/Version'/['d'.]+.*Safari/);
if(isIphone && isSafari){
//do something
}
如果你想检测一个特定的iOS版本及以上版本,比如iOS 7.0及以上版本,那么你可以使用下面的代码。它检测iOS版本7-19(对于即将发布的版本)。
var isIphone= /(iPhone)*(OS ([7-9]|1[0-9])_)/i.test(navigator.userAgent);
var isFirefox = navigator.userAgent.indexOf("FxiOS") != -1;
var isChrome = navigator.userAgent.indexOf("CriOS") != -1;
var isEdge = navigator.userAgent.indexOf("EdgiOS") != -1;
var isOpera = navigator.userAgent.indexOf("OPT") != -1;
if (!isFirefox && !isChrome && !isEdge && !isOpera){
console.log("Only display in Safari")
} else {
console.log("Only display in Firefox/Chrome/Edge/Opera")
}
嗨,这种方式对我来说只检测ios手机中的safari。值FxiOs, CriOs等,我从userAgent的值。
相关文章:
- 防止在移动Safari(iPad/iPhone)中长按/长按默认上下文菜单
- html视频javascript播放方法在移动Safari中不起作用
- 检测通过移动 Safari 中的 JavaScript 关闭浏览器选项卡
- 在移动 Safari 上向下拖动时,触摸事件停止触发 - iPad HTML5
- jQuery .play() 在移动 Safari 上不起作用
- 如何将Javascript事件附加到移动Safari后退按钮
- 移动Chrome和Safari之间的页面滚动不一致
- 移动safari浏览器的滚动问题
- 响应式设计适用于桌面浏览器、移动模拟器(Safari和Mozilla Firefox),但不适用于真正的智能手机(And
- 删除的DOM元素仍然显示在移动safari(iOS 5.1)中
- window.open()没有'无法在添加到主屏幕的移动Safari web应用程序中工作
- jQuery:jQuery.val()在移动Safari和Chrome中不起作用
- 来自第三方身份验证的 Firebase 身份验证数据在移动 safari iOS8 中始终为空
- Facebook移动Safari无法正常工作
- Safari移动地理定位和地图渲染
- 防止iOS safari移动网页窗口,以便拖动事件发生
- 检测用户是否通过iphone上的safari移动浏览器导航
- 不同的陀螺仪值在chrome移动和safari移动
- 谷歌地图MarkerImage与本地url不显示在Safari移动iOS 6
- $(element).width() 在 Safari 移动设备上报告不同的值