这篇文章主要分享了判断IE、FF、Opera、Safari、Chrome等浏览器和版本的两种方法,需要的朋友可以参考下

因为ie10-ie11的版本问题,不再支持document.all判断,所以ie判断函数要重新写了

function isIE() { //ie?      if (!!window.ActiveXObject || "ActiveXObject" in window)        return true;      else        return false;    }

第一种,只区分浏览器,不考虑版本


function myBrowser(){
  var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
  var isOpera = userAgent.indexOf("Opera") > -1;
  if (isOpera) {
  return "Opera"
  }; //判断是否Opera浏览器
  if (userAgent.indexOf("Firefox") > -1) {
  return "FF";
  } //判断是否Firefox浏览器
  if (userAgent.indexOf("Chrome") > -1){
return "Chrome";
 }
  if (userAgent.indexOf("Safari") > -1) {
  return "Safari";
  } //判断是否Safari浏览器
  if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
  return "IE";
  }; //判断是否IE浏览器
}

//以下是调用上面的函数
var mb = myBrowser();
if ("IE" == mb) {
  alert("我是 IE");
}
if ("FF" == mb) {
  alert("我是 Firefox");
}
if ("Chrome" == mb) {
  alert("我是 Chrome");
}
if ("Opera" == mb) {
  alert("我是 Opera");
}
if ("Safari" == mb) {
  alert("我是 Safari");
}

第二种,区分浏览器,并考虑IE5.5 6 7 8


function myBrowser(){
  var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
  var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器
  var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器
  var isFF = userAgent.indexOf("Firefox") > -1; //判断是否Firefox浏览器
  var isSafari = userAgent.indexOf("Safari") > -1; //判断是否Safari浏览器
  if (isIE) {
  var IE5 = IE55 = IE6 = IE7 = IE8 = false;
  var reIE = new RegExp("MSIE (d+.d+);");
  reIE.test(userAgent);
  var fIEVersion = parseFloat(RegExp["$1"]);
  IE55 = fIEVersion == 5.5;
  IE6 = fIEVersion == 6.0;
  IE7 = fIEVersion == 7.0;
  IE8 = fIEVersion == 8.0;
  if (IE55) {
  return "IE55";
  }
  if (IE6) {
  return "IE6";
  }
  if (IE7) {
  return "IE7";
  }
  if (IE8) {
  return "IE8";
  }
  }//isIE end
  if (isFF) {
  return "FF";
  }
  if (isOpera) {
  return "Opera";
  }
}//myBrowser() end
//以下是调用上面的函数
if (myBrowser() == "FF") {
  alert("我是 Firefox");
}
if (myBrowser() == "Opera") {
  alert("我是 Opera");
}
if (myBrowser() == "Safari") {
  alert("我是 Safari");
}
if (myBrowser() == "IE55") {
  alert("我是 IE5.5");
}
if (myBrowser() == "IE6") {
  alert("我是 IE6");
}
if (myBrowser() == "IE7") {
  alert("我是 IE7");
}
if (myBrowser() == "IE8") {
  alert("我是 IE8");
}

下面给出一个判断当前浏览器是IE的JS代码.

原理是利用了IE与标准浏览器在处理数组的toString方法的差异做成的。对于标准游览器,如果数组里面最后一个字符为逗号,JS引擎会自动剔除它。 


最新资讯
井贤栋:花呗利率制定和展示均需符合监管有关规定

井贤栋:花呗利率制定和

井贤栋今日在路演时表示,截至2020年6月30日止12个月期
蚂蚁集团:公司是中国最大的线上保险服务平台

蚂蚁集团:公司是中国最

蚂蚁集团数字金融事业群总裁黄浩表示,截至2020年6月30
蚂蚁打新在即 网上发行股票无流通限制及限售期安排

蚂蚁打新在即 网上发

蚂蚁集团网上发行的股票无流通限制及限售期安排,自本次
蚂蚁集团:平台上大多数消费贷款的年利率在14.6%以下

蚂蚁集团:平台上大多数

截至2020年6月,蚂蚁集团表示平台上大多数消费贷款的年
快手最快本周提交香港上市申请 集资有望达到50亿美元

快手最快本周提交香港

早前外电引述知情人士透露,快手考虑在香港上市,有望集资
蚂蚁胡晓明:蚂蚁集团和美团不处在一个同竞争赛道

蚂蚁胡晓明:蚂蚁集团和

蚂蚁集团执行董事、首席执行官胡晓明表示,在业务合作上
最新文章
详解Vue的ref特性的使用

详解Vue的ref特性的使

这篇文章主要介绍了详解Vue的ref特性的使用,文中通过
vue学习笔记之slot插槽基本用法实例分析

vue学习笔记之slot插

这篇文章主要介绍了vue学习笔记之slot插槽基本用法,结
vue跳转方式(打开新页面)及传参操作示例

vue跳转方式(打开新页

这篇文章主要介绍了vue跳转方式(打开新页面)及传参操作,
vue学习笔记之过滤器的基本使用方法实例分析

vue学习笔记之过滤器

这篇文章主要介绍了vue学习笔记之过滤器的基本使用方
js获取本日、本周、本月的时间代码

js获取本日、本周、本

本篇文章给大家分享的内容是利用js如何获取本日、本周
node crawler如何添加promise支持

node crawler如何添加

这篇文章主要介绍了node crawler如何添加promise支持,