兼容IE11的判断方式

var getExplorer = (function() {var explorer = window.navigator.userAgent,compare = function(s) { return (explorer.indexOf(s) >= 0); },ie11 = (function() { return ("ActiveXObject" in window) })();if (compare("MSIE") || ie11) { return 'ie'; }else if (compare("Firefox") && !ie11) { return 'Firefox'; }else if (compare("Chrome") && !ie11) { return 'Chrome'; }else if (compare("Opera") && !ie11) { return 'Opera'; }else if (compare("Safari") && !ie11) { return 'Safari'; }
})()注意:getExplorer返回结果是一个字符串,如判断是否为IE浏览器
if (getExplorer == 'ie') {alert('当前浏览器版本:IE');
}

参考文献1:http://blog.csdn.net/whupanyinghua/article/details/38026027

js判断的方式都是利用浏览器的useragent字段。通过判断useragent字段里面是否包含有MSIE字段来判断是否是IE系列浏览器,但是在IE11之后,IE11里面的useagent没有MSIE字样。IE 11的userAgent为:"Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; Shuame; rv:11.0) like Gecko"。IE11之后根据MSIE的方式来判断,对IE11是无效的。其实除了userAgent字段外,我们可以使用ActiveXObject对象来进行判断。一个很简单的判断函数如下
function isIE()
{if(!!window.ActiveXObject || "ActiveXObject" in window)return true;elsereturn false;
}

参考文献2:http://www.softwhy.com/forum.php?mod=viewthread&tid=15052

获取IE浏览器的版本在以前非常的好操作,但是由于IE11浏览器的出现,导致很多以前常用的方法已经无能为力,下面就介绍一下如何判断IE浏览器的版本,并且能够兼容IE11浏览器。

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>蚂蚁部落</title>
<script type="text/javascript">
var userAgent = navigator.userAgent,
rMsie = /(msie\s|trident.*rv<img src="static/image/smiley/default/smile.gif" smilieid="1" alt="" border="0">([\w.]+)/,
rFirefox = /(firefox)\/([\w.]+)/,
rOpera = /(opera).+version\/([\w.]+)/,
rChrome = /(chrome)\/([\w.]+)/,
rSafari = /version\/([\w.]+).*(safari)/;
var browser;
var version;
var ua = userAgent.toLowerCase();
function uaMatch(ua){  var match = rMsie.exec(ua);  if(match != null){  return { browser : "IE", version : match[2] || "0" };  }  var match = rFirefox.exec(ua);  if (match != null) {  return { browser : match[1] || "", version : match[2] || "0" };  }  var match = rOpera.exec(ua);  if (match != null) {  return { browser : match[1] || "", version : match[2] || "0" };  }  var match = rChrome.exec(ua);  if (match != null) {  return { browser : match[1] || "", version : match[2] || "0" };  }  var match = rSafari.exec(ua);  if (match != null) {  return { browser : match[2] || "", version : match[1] || "0" };  }  if (match != null) {  return { browser : "", version : "0" };  }
}
var browserMatch = uaMatch(userAgent.toLowerCase());
if (browserMatch.browser){  browser = browserMatch.browser;  version = browserMatch.version;
}
document.write(browser+version);
</script>
</script>
</head>
<body></body>
</html>

上面的代码实现了判断功能,下面介绍一下它的实现原理,希望能够给需要的朋友带来帮助。
先来看一段代码:

navigator.userAgent

IE11下的信息截图:

然后使用相应的正则表达式进行匹配。IE11和以前版本的浏览器还是有较大差别的,以前的版本,这个信息中包含msie,IE11中没有了,新增加trident,后面跟着浏览器的版本号码,这一点要特别注意一下。

JS判断浏览器版本(已解决IE11版本为Mozilla问题)相关推荐

  1. JS 判断浏览器版本

    JS 判断浏览器版本 1.JS 区分各个浏览器(方法一) var browser={versions:function(){var u = navigator.userAgent, app = nav ...

  2. PHP判断浏览器内核过低,js判断浏览器版本以及浏览器内核的方法

    本文实例讲述了js判断浏览器版本以及浏览器内核的方法.分享给大家供大家参考.具体实现方法如下: js判断是否移动端及浏览器内核 var browser = { versions: function() ...

  3. 通过JS判断浏览器类型,详细区分IE各版本浏览器

    <span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255) ...

  4. PS完美支持M1芯片mac(Adobe photoshop2019直装版M1安装方法)适用M1芯片处理器 (此版本已解决在M1电脑上出现“液化”滤镜和WEB等黑屏问题)

    Adobe软件兼容性更新 ,PR/PS/AE/LR/AU等软件已全部支持苹果最新M1芯片 ,搭建可以放心购买m1芯片的苹果电脑了- 苹果公司最新发布的基于M1芯片的Mac笔记本电脑应该很多小伙伴都入手 ...

  5. PS完美支持M1芯片mac(Adobe photoshop2019直装版M1安装方法)适用M1芯片处理器 (此版本已解决在M1电脑上出现“液化”和WEB等黑屏问题)

    Adobe软件兼容性更新 ,PR/PS/AE/LR/AU等软件已全部支持苹果最新M1芯片 ,搭建可以放心购买m1芯片的苹果电脑了- 苹果公司最新发布的基于M1芯片的Mac笔记本电脑应该很多小伙伴都入手 ...

  6. js判断浏览器是否为IE

    js判断浏览器是否为IE的方法. function IEVersion() {var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串var ...

  7. js判断浏览器及终端

    js判断浏览器及终端 判断浏览器 判断ie为某个版本 鉴别PC及移动端 判断浏览器 判断浏览器时我们需要用到navigator.userAgent navigator是一个对象,他包含了有关浏览器的信 ...

  8. js判断浏览器信息大全

    js判断浏览器信息大全,详情如下. 可以直接引入js文件. /** 描述:判断浏览器信息* 编写:LittleQiang_w* 日期:2016.1.5* 版本:V1.1*///判断当前浏览类型 fun ...

  9. tomcat启动成功但没有跳转到浏览器,已解决

    tomcat启动成功但没有跳转到浏览器,已解决 ) 多次启动tomcat后发现突然不能跳转到浏览器页面了 (本人新手,经验不足,言语不专业,按实际情况说明,多包涵!) 1.在idea中多次Rebuil ...

最新文章

  1. ASP.NET MVC 过滤器(一)
  2. dubbo部分常见的面试题目
  3. Python descriptor
  4. CCF-IFAA基金海外参展 全球安全盛会迎来中国声音
  5. WEB服务器和HTTP服务器和应用服务器的区别?(web服务器就是HTTP服务器)为什么要把Web服务器独立配置,和应用程序服务器一前一后?
  6. 干货总结:SPI总线详细要点
  7. sql sever 2008基础知识
  8. linux安装c++版本eclipse以及编译增加指定库
  9. php并行下载文件,php – 限制并行/同时下载 – 如何知道下载是否被取消?
  10. 崇高文本_崇高文本片段指南
  11. SH760模态分析-多种解析与数字计算方法
  12. React之组件小析
  13. Kafka 的生产者优秀架构设计
  14. java biz层创建代码_BIZ层调试方法
  15. 具体数学-第6课(下降阶乘幂)
  16. c 语言程序反编译,EXE文件反编译成C源代码的工具下载_EXE文件反编译成C源代码的工具官方下载-太平洋下载中心...
  17. jpg格式电脑怎么弄_jpg格式图片电脑怎么弄
  18. c语言调试程序错误,如何调试C程序的语法错误和逻辑错误
  19. Linux音频系统编程之芯片平台适配功放Codec Driver解读
  20. 计算机视觉城市排名,计算机视觉技术量化城市变迁

热门文章

  1. 功能中进行频繁查询、提高查询效率的方法
  2. 你是部门经理,老板对你说公司要裁员,你该怎么办?
  3. 有哪些好用的微信群管理工具?
  4. 谷粒商城项目篇8_分布式高级篇_商城首页、性能压测、优化(Nginx动静分离)
  5. 文本进行90度翻转HTML,字体逆时针旋转90度
  6. 获取晋江优质小说(按章节数量选择、python多进程)
  7. PPI_DPI 对比
  8. XDOJ32角谷定理
  9. 同期及上期数据对比显示
  10. 详解ShellShock 漏洞复现原理,内附ShellShock的修复方法