JS判断当前是哪个浏览器

最近一直接触底层代码,测试中发现IE浏览器以前判断的方法行不通了。

上例子吧:

var explorer =navigator.userAgent;
    //ie 
    if (explorer.indexOf("MSIE") >= 0) {
    alert("ie");
    }
    //firefox 
    else if (explorer.indexOf("Firefox") >= 0) {
    alert("Firefox");
    }
    //Chrome
    else if(explorer.indexOf("Chrome") >= 0){
    alert("Chrome");
    }
    //Opera
    else if(explorer.indexOf("Opera") >= 0){
    alert("Opera");
    }
    //Safari
    else if(explorer.indexOf("Safari") >= 0){
    alert("Safari");
    } 
    //Netscape
    else if(explorer.indexOf("Netscape")>= 0) { 
    alert('Netscape'); 
    }

这个上面都是可以行得通,但是IE11的判断就出现问题,因为IE11不存在MSIE,新增加了trident

对IE的判断修改一下:

方法一:
 

    //ie 
    //判断浏览器是否支持ActiveX控件,如果浏览器支持ActiveX控件可以利用,
    if (!!window.ActiveXObject || "ActiveXObject" in window){
        alert("IE")
    }

方法二:

    //ie 
    //documentMode 是一个IE的私有属性,在IE8+中被支持。
    if (window.document.documentMode){
        alert("IE")
    }

猜你喜欢

转载自blog.csdn.net/qq_28004379/article/details/85557839