js判断是否是ie浏览器且给出ie版本

短命女 2022-05-17 03:25 437阅读 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.pngie9的userAgent
  7. 1030158-20170615133512212-2089056278.pngie8的userAgent
  8. 1030158-20170615133839040-439425728.pngie10的userAgent

你一定发现了,ie11和edge的userAgent是和ie8,9,10差别蛮大的,那么对用的在写js时需要特别判断,下面给出我写好的一段判断是否是ie且给出ie版本号的js代码段

  1. function IEVersion() {
  2. var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
  3. var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器
  4. var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器
  5. var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;
  6. if(isIE) {
  7. var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
  8. reIE.test(userAgent);
  9. var fIEVersion = parseFloat(RegExp["$1"]);
  10. if(fIEVersion == 7) {
  11. return 7;
  12. } else if(fIEVersion == 8) {
  13. return 8;
  14. } else if(fIEVersion == 9) {
  15. return 9;
  16. } else if(fIEVersion == 10) {
  17. return 10;
  18. } else {
  19. return 6;//IE版本<=7
  20. }
  21. } else if(isEdge) {
  22. return 'edge';//edge
  23. } else if(isIE11) {
  24. return 11; //IE11
  25. }else{
  26. return -1;//不是ie浏览器
  27. }
  28. }

通过调用 IEVersion()可以获得返回值,值如下

















































值类型 值说明
-1 Number  不是ie浏览器
6 Number ie版本<=6
7 Number ie7
8 Number ie8
9 Number ie9
10 Number ie10
11 Number ie11
‘edge’ String ie的edge浏览器

希望可以帮到你们!

转自: https://www.cnblogs.com/XCWebLTE/archive/2017/06/15/7017338.html

发表评论

表情:
评论列表 (有 0 条评论,437人围观)

还没有评论,来说两句吧...

相关阅读