这篇文章主要分享了判断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引擎会自动剔除它。 


最新资讯
分析师:明年乃至未来几年 iPhone处理器仅台积电代工

分析师:明年乃至未来

据行业分析师称,至少在未来两年内,台积电仍将是苹果公司
苹果与第三方经销商达成iPhone屏幕维修协议

苹果与第三方经销商达

苹果公司(以下简称“苹果”)日前与第三方经销商和服务
消费降级不可避免,国产手机怎样留住用户?

消费降级不可避免,国产

经济萧条下手机销量急剧下滑的情况。毕竟手机使用周期
那些年我们追过的“苹果皮”怎么样了?

那些年我们追过的“苹

充电宝、分离式设计、三卡三待功能了解一下。
苹果或为每部5G iPhone交21美元专利费:高通占大头

苹果或为每部5G iPhon

从理论上讲,苹果未来为每一部iPhone支付的5G相关专利费
AI被人类选手“虐杀”!DOTA2顶级职业赛人类战胜AI

AI被人类选手“虐杀”

不同于上次OpenAI大败Dendi,这一次OpenAIFive首场以败
最新文章
Angular2进阶之如何避免Dom误区

Angular2进阶之如何避

这篇文章主要介绍了Angular2进阶之如何避免Dom误区,小
使用FileReader API创建Vue文件阅读器组件

使用FileReader API创

这篇文章主要介绍了使用FileReader API创建一个Vue的
react 实现页面代码分割、按需加载的方法

react 实现页面代码分

本篇文章主要介绍了react 实现页面代码分割、按需加载
Vue项目分环境打包的实现步骤

Vue项目分环境打包的

这篇文章主要介绍了Vue项目如何分环境打包,实现方法大
vue 组件中slot插口的具体用法

vue 组件中slot插口的

这篇文章主要介绍了vue 中slot 的具体用法,包括子组件
JS遍历DOM文档树的方法实例详解

JS遍历DOM文档树的方

这篇文章主要介绍了JS遍历DOM文档树的方法,结合实例形