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

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

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

 代码以下: javascript

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";    
    }
}



调用很简单: java

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

相关文章
相关标签/搜索