admin管理员组

文章数量:1565792

区别

360主要判断浏览器插件来区分(360具有极速、兼容模式)
Edge最新的判断为Edg
大多数内核都是Chrome,因此需要作多条件判断

//360浏览器(极速内核)
export function check360() {
    var result = false; 
    for (var key in navigator.plugins) {
        // np-mswmp.dll只在360浏览器下存在
        if (navigator.plugins[key].filename == 'internal-nacl-plugin') {
            return !result;
        }
    }
    return result;
}

//遨游浏览器
export function checkMaxthon() {
    var result = false; 
    var list = [];
    for (var key in navigator.plugins) {
        // 遨游浏览器只有五个一致的plugins
        if (!!navigator.plugins[key].filename) {
            list.push(navigator.plugins[key].filename);
        }
    }
    if(list.length == 5){
        result = true;
    }else {
        result = false;
    }
    return result;
}

//获取当前的浏览器
export function getBrowser() {
    // 获取浏览器 userAgent
    var ua = navigator.userAgent;
    // 是否为 Opera
    var isOpera = ua.indexOf('opr') > -1
    // 返回结果
    if (isOpera) { return 'Opera' }

    // 是否为 IE
    var isIE = (ua.indexOf('compatible') > -1) && (ua.indexOf('MSIE') > -1) && !isOpera
    var isIE11 = (ua.indexOf('Trident') > -1) && (ua.indexOf("rv:11.0") > -1)
    // 返回结果
    if (isIE11) { return 'IE11'
    } else if (isIE) {
        // 检测是否匹配
        var re = new RegExp('MSIE (\\d+\\.\\d+);')
        re.test(ua)
        // 获取版本
        var ver = parseFloat(RegExp["$1"])
        // 返回结果
        if (ver == 7) { return 'IE7'
        } else if (ver == 8) { return 'IE8'
        } else if (ver == 9) { return 'IE9'
        } else if (ver == 10) { return 'IE10'
        } else { return "IE" }
    }
    
    //console.log(ua);
    // 是否为 Edge
    var isEdge = ua.indexOf("Edg") > -1
    // 返回结果
    if (isEdge) { return 'Edge' }

    // 是否为 Firefox
    var isFirefox = ua.indexOf("Firefox") > -1
    // 返回结果
    if (isFirefox) { return 'Firefox' }

    // 是否为 Safari
    var isSafari = (ua.indexOf("Safari") > -1) && (ua.indexOf("Chrome") == -1)
    // 返回结果
    if (isSafari) { return "Safari" }

    // 是否为 Chrome
    var isChrome = (ua.indexOf("Chrome") > -1) && (ua.indexOf("Safari") > -1) && (ua.indexOf("Edge") == -1) && (ua.indexOf("QQBrowser") == -1) && (ua.indexOf("2345Explorer") == -1) && (check360() == false) && (checkMaxthon() == false)
    // 返回结果
    if (isChrome) { return 'Chrome' }
    
    // 是否为 QQ
    var isQQ = ua.indexOf("QQBrowser") > -1
    // 返回结果
    if (isQQ) { return 'QQ浏览器' }

    // 是否为傲游浏览器
    var isMaxthon = checkMaxthon() > -1
    // 返回结果
    if (isMaxthon) { return '傲游浏览器' }
    
    // 是否为搜狗浏览器
    var isMaxthon = ua.indexOf("se 2.x") > -1
    // 返回结果
    if (isMaxthon) { return '搜狗浏览器' }
    
	// 是否为2345浏览器
    var is2345Explorer = ua.includes("2345Explorer") > -1;
    // 返回结果
    if(is2345Explorer){
        return '2345浏览器';
    }
    
    var is360 = check360() && (ua.indexOf("Safari") > -1)
    if(is360){return '360浏览器'}

    // 都不是
    return ''
}

本文标签: 搜狗浏览器名称国内最新