javascript检测IE6-8,chrome,safari,firefox,opera等主流浏览器类型

风流意气都作罢 提交于 2019-12-04 16:24:01

javascript检测IE6-8,chrome,safari,firefox,opera等主流浏览器类型

利用javascript检测浏览器的类别,网上也会有很多的代码,这里总结写了一下,主要检测主流的五款浏览器(IE,Chrome,Opera,Safari,Firefox)的类别,IE可以检测到IE6-IE9的本种版本,IE10没有检测过。
IE9浏览器比较特别,按F12进入控制台中,可以切换到IE7IE8,用navigator.userAgent来判断检测不出用的是哪个核心,全部提示IE7,这里也作了下兼容处理。

 代码如下:

Utils.broswer = function(){
    //检测浏览器
    var iUserAgent = navigator.userAgent;
    var iAppVersion = parseFloat(navigator.appVersion);
    var isOpera = iUserAgent.indexOf("Opera") > -1;
    var isKHTML = iUserAgent.indexOf("KHTML") > -1 || iUserAgent.indexOf("Konqueror") > -1 || iUserAgent.indexOf("AppleWebKit") > -1;    
    if(isKHTML){
        var isChrome = iUserAgent.indexOf("Chrome") > -1;
        var isSafari = iUserAgent.indexOf("AppleWebKit") > -1 && !isChrome;
        var isKonq = iUserAgent.indexOf("Konqueror") > -1;
    }
    var isIE = iUserAgent.indexOf("compatible") > -1 && iUserAgent.indexOf("MSIE") > -1 && !isOpera;
    var isMoz = iUserAgent.indexOf("Gecko") > -1 && !isKHTML;
    var isNS4 = !isOpera && !isMoz && !isKHTML && !isIE && (iUserAgent.indexOf("Mozilla") ==0) && (navigator.appName == "Netscape") && (fAppVersion >=4.0 && fAppVersion <= 5.0);
    //此处为检测平台
    var isWin = (navigator.platform == "Win32") || (navigator.platform == "Windows");
    var isMac = (navigator.platform == "Mac68K") || (navigator.platform == "MacPPC") || (navigator.platform == "Macintosh");
    var isUnix = (navigator.platform == "X11") && !isWin && !isMac;
    if(isOpera){
        return "opera";    
    } else if(isChrome) {
        return "chrome";
    } else if(isSafari){
        return "safari";
    } else if(isKonq){
        return "konq";    
    } else if(isIE){
        //此处没用userAgent来检测,主要是考虑IE9浏览器按F12可以切换到IE7,IE8;用userAgent会检测不出来
        if (parseInt($.browser.version, 10) <= 6) {
            return "IE6"; 
        } else if (document.all && !document.querySelector) {
            return "IE7";
        } else if (document.all && document.querySelector && !document.addEventListener) {
            return "IE8";
        } else {
            return "IE9+";
        }
    } else if(isMoz){
        return "mozilla";
    } else if(isNS4){
        return "ns4";    
    }
}



调用很简单:

var 一个变量 browser = Utils.browser(); 根据返回值来判断浏览器类型就OK

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!