JS判断浏览器版本(已解决IE11版本为Mozilla问题)
来源:互联网 发布:js实现九九乘法表 编辑:程序博客网 时间:2024/06/06 00:39
兼容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; else return 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.userAgentIE11下的信息截图:
然后使用相应的正则表达式进行匹配。IE11和以前版本的浏览器还是有较大差别的,以前的版本,这个信息中包含msie,IE11中没有了,新增加trident,后面跟着浏览器的版本号码,这一点要特别注意一下。
0 0
- JS判断浏览器版本(已解决IE11版本为Mozilla问题)
- js如何判断IE浏览器的版本包括IE11
- java判断浏览器版本及编码问题,包括IE11
- 用js判断ie版本,ie11被识别为ie7
- JavaScript判断浏览器类型及版本(新增IE11)
- JavaScript判断浏览器类型及版本(新增IE11)
- 浏览器版本重新判断(IE11革新后)
- 判断浏览器个版本 到ie11
- js检测各个浏览器版本,包括IE11
- js判断浏览器版本
- js判断浏览器版本
- js判断浏览器版本
- js判断浏览器版本
- js判断浏览器版本
- JS判断浏览器版本
- js判断浏览器版本
- 浏览器版本判断 js
- js判断浏览器版本
- java实现网上在线支付--13java在线支付所有源码
- hadoop hbase 搭建
- Android使用cavans绘制饼图
- Leetcode 523
- [Java蠢萌新]Java初入贰-以月烙骨
- JS判断浏览器版本(已解决IE11版本为Mozilla问题)
- 献给前端求职路上的你们(下)
- leetCode
- HTML5 Canvas中绘制椭圆的5种方法
- 《深入理解Spark-核心思想与源码分析》读书笔记(2)
- iOS 3DTouch 开发
- wechat4j.properties配置文件详解。
- Tomcat的概念及启动原理浅析
- Criteria联合分组查询+bject转对象,java实现Object转实体类备忘录