js判断是否是ie浏览器且给出ie版本 短命女 2022-05-17 03:25 295阅读 0赞 # js判断是否是ie浏览器且给出ie版本 # 之前懒得写判断ie版本js,因为网上关于这方面的代码太多了,所以从网上拷贝了一个,放到项目上才发现由于时效性的问题,代码不生效。就自己写一个吧。 1. 怎么去看浏览器的内核等信息 —- js的全局对象window子属性navigator.userAgent,这个属性是包含了浏览器信息的相关信息,包括我们需要的浏览器内核 2. navigator.userAgent这个值取出来是个字符串,可以通过string的 indexOf方法或者正则匹配来验证关键字符串 3. ie11和edge的判断方式有所不同,后面我会给出几个图 4. ![1030158-20170615133251837-1224751249.png][]这个是ie11的userAgent 5. ![1030158-20170615133342634-355012105.png][]这个是edge的userAgent 6. ![1030158-20170615133452900-1142194369.png][]ie9的userAgent 7. ![1030158-20170615133512212-2089056278.png][]ie8的userAgent 8. ![1030158-20170615133839040-439425728.png][]ie10的userAgent 你一定发现了,ie11和edge的userAgent是和ie8,9,10差别蛮大的,那么对用的在写js时需要特别判断,下面给出我写好的一段判断是否是ie且给出ie版本号的js代码段 function IEVersion() { var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器 var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器 var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1; if(isIE) { var reIE = new RegExp("MSIE (\\d+\\.\\d+);"); reIE.test(userAgent); var fIEVersion = parseFloat(RegExp["$1"]); if(fIEVersion == 7) { return 7; } else if(fIEVersion == 8) { return 8; } else if(fIEVersion == 9) { return 9; } else if(fIEVersion == 10) { return 10; } else { return 6;//IE版本<=7 } } else if(isEdge) { return 'edge';//edge } else if(isIE11) { return 11; //IE11 }else{ return -1;//不是ie浏览器 } } 通过调用 IEVersion()可以获得返回值,值如下 <table> <tbody> <tr> <td>值</td> <td>值类型</td> <td>值说明</td> </tr> <tr> <td>-1</td> <td>Number</td> <td> 不是ie浏览器</td> </tr> <tr> <td>6</td> <td>Number</td> <td>ie版本<=6</td> </tr> <tr> <td>7</td> <td>Number</td> <td>ie7</td> </tr> <tr> <td>8</td> <td>Number</td> <td>ie8</td> </tr> <tr> <td>9</td> <td>Number</td> <td>ie9</td> </tr> <tr> <td>10</td> <td>Number</td> <td>ie10</td> </tr> <tr> <td>11</td> <td>Number</td> <td>ie11</td> </tr> <tr> <td>‘edge’</td> <td>String</td> <td>ie的edge浏览器</td> </tr> </tbody> </table> 希望可以帮到你们! 转自: [https://www.cnblogs.com/XCWebLTE/archive/2017/06/15/7017338.html][https_www.cnblogs.com_XCWebLTE_archive_2017_06_15_7017338.html] [1030158-20170615133251837-1224751249.png]: /images/20220517/c8312feba9ad45d383b8a54d34e46bba.png [1030158-20170615133342634-355012105.png]: /images/20220517/7445732142d44688b273583e6487a9b9.png [1030158-20170615133452900-1142194369.png]: /images/20220517/5108a517e40344d781dcbaaa1b98bdbd.png [1030158-20170615133512212-2089056278.png]: /images/20220517/8bfd0c7767ac4930b0182fe4533f0107.png [1030158-20170615133839040-439425728.png]: /images/20220517/528ec0d23a9d4d8cafe9eef1ecb6eb70.png [https_www.cnblogs.com_XCWebLTE_archive_2017_06_15_7017338.html]: https://www.cnblogs.com/XCWebLTE/archive/2017/06/15/7017338.html
还没有评论,来说两句吧...