检测 Safari 浏览器

2022-08-30 01:05:24

如何使用JavaScript检测Safari浏览器?我已经尝试了下面的代码,它不仅可以检测到Safari,还可以检测到Chrome浏览器。

function IsSafari() {

  var is_safari = navigator.userAgent.toLowerCase().indexOf('safari/') > -1;
  return is_safari;

}

答案 1

注意:始终尝试检测您尝试修复的特定行为,而不是将其定位为isSafari?

作为最后的手段,请使用此正则表达式检测Safari:

var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);

它使用负面的环顾四周,并排除了Chrome,Edge以及在其用户代理中包含该名称的所有Android浏览器。Safari


答案 2

您可以轻松使用 Chrome 索引来过滤掉 Chrome:

var ua = navigator.userAgent.toLowerCase(); 
if (ua.indexOf('safari') != -1) { 
  if (ua.indexOf('chrome') > -1) {
    alert("1") // Chrome
  } else {
    alert("2") // Safari
  }
}