我试图检测用户是否正在使用jquery / javascript从iphone上的safari浏览器中导航我的网站。
我能够使用用户代理字符串检测IOS环境
/iphone/i.test(navigator.userAgent.toLowerCase())
但是这会检测到Apple环境,也就是说,它对设备上的所有浏览器都是一样的。有谁能提出别的办法吗。
发布于 2014-08-11 11:25:48
更新:
尝试以下操作,以检测iPhone中的Safari浏览器:
var isSafari = !!navigator.userAgent.match(/Version\/[\d\.]+.*Safari/);它识别了Safari 3.0+,并将其与Chrome区别开来。
发布于 2016-08-29 14:55:15
因为另一个答案不包括检测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); 发布于 2021-09-09 10:08:44
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值中得到。
https://stackoverflow.com/questions/25241932
复制相似问题