js判断浏览器的内核和判断浏览器,判断ie浏览器版本

柔光的暖阳◎ 2022-03-19 04:58 521阅读 0赞

一、判断当前浏览类型及IE浏览器版本
唯一缺点就是 IE7与IE5不分,但是IE6以下的判别已经不重要了

  1. function BrowserType()
  2. {
  3. var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
  4. var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器
  5. // var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器
  6. var isIE=window.ActiveXObject || "ActiveXObject" in window
  7. // var isEdge = userAgent.indexOf("Windows NT 6.1; Trident/7.0;") > -1 && !isIE; //判断是否IE的Edge浏览器
  8. var isEdge = userAgent.indexOf("Edge") > -1; //判断是否IE的Edge浏览器
  9. var isFF = userAgent.indexOf("Firefox") > -1; //判断是否Firefox浏览器
  10. var isSafari = userAgent.indexOf("Safari") > -1 && userAgent.indexOf("Chrome") == -1; //判断是否Safari浏览器
  11. var isChrome = userAgent.indexOf("Chrome") > -1 && userAgent.indexOf("Safari") > -1&&!isEdge; //判断Chrome浏览器
  12. if (isIE)
  13. {
  14. var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
  15. reIE.test(userAgent);
  16. var fIEVersion = parseFloat(RegExp["$1"]);
  17. if(userAgent.indexOf('MSIE 6.0')!=-1){
  18. return "IE6";
  19. }else if(fIEVersion == 7)
  20. { return "IE7";}
  21. else if(fIEVersion == 8)
  22. { return "IE8";}
  23. else if(fIEVersion == 9)
  24. { return "IE9";}
  25. else if(fIEVersion == 10)
  26. { return "IE10";}
  27. else if(userAgent.toLowerCase().match(/rv:([\d.]+)\) like gecko/)){
  28. return "IE11";
  29. }
  30. else
  31. { return "0"}//IE版本过低
  32. }//isIE end
  33. if (isFF) { return "FF";}
  34. if (isOpera) { return "Opera";}
  35. if (isSafari) { return "Safari";}
  36. if (isChrome) { return "Chrome";}
  37. if (isEdge) { return "Edge";}
  38. }//myBrowser() end
  39. alert(BrowserType());

二、关于IE各版本浏览器判别的方法整理

  1. // 下面是支持ie11的版本的,当然ie6-10也是支持的
  2. function isIE() { //ie?
  3. if (window.ActiveXObject || "ActiveXObject" in window){
  4. return true;
  5. }else{
  6. return false;
  7. }
  8. }
  9. alert(isIE())
  10. IE11userAgent里是没有MSIE标志的,,所以只可以判断IE1010以下浏览器
  11. function isIE(){
  12. if (window.navigator.userAgent.indexOf("MSIE")>=1)
  13. return true;
  14. else
  15. return false;
  16. }
  17. // //可以判断IE10及10以下浏览器,因为IE11不支持document.all了
  18. if(document.all){
  19. alert("is IE!");
  20. }
  21. //判断是否是IE8及以下版本的浏览器
  22. //原理是利用了IE8及以下版本的浏览器与标准浏览器在处理数组的toString方法的差异做成的。
  23. //-[1,]是为了实现该方法
  24. //对于标准游览器,如果数组里面最后一个字符为逗号,JS引擎会自动剔除它
  25. var ie = !-[1,];
  26. if(ie){
  27. alert('IE8及以下版本的浏览器');
  28. }else{
  29. alert('不是IE8及以下版本的浏览器');
  30. }
  31. //判断IE11
  32. if(navigator.userAgent.toLowerCase().match(/rv:([\d.]+)\) like gecko/)){
  33. alert('IE11')
  34. }else{
  35. alert('不是IE11')
  36. }
  37. //支持Edge
  38. var isEdge = navigator.userAgent.indexOf("Edge") > -1; //判断是否IE的Edge浏览器
  39. if(isEdge){
  40. alert('Edge');
  41. }else{
  42. alert('不是Edge');
  43. }

发表评论

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

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

相关阅读

    相关 JS判断浏览器

    判断原理: JavaScript是前端开发的主要语言,我们可以通过编写JavaScript程序来判断浏览器的类型及版本。JavaScript判断浏览器类型一般有两种办法,一种