admin管理员组

文章数量:1580428

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>判断浏览器</title>
</head>
<body>
    
</body>
<script>
    console.log(browerType());
    function browerType() {
    var ua = navigator.userAgent.toLocaleLowerCase();
    // 判断是否为IE(第一个是正常的IE,第二个是Edge,第三个是IE11)
    var isIE = (ua.indexOf("compatible") > -1 && ua.indexOf("msie") > -1) || (ua.indexOf("edge") > -1) || (ua.indexOf(
        'trident') > -1 && ua.indexOf("rv:11.0") > -1);
    // 判断是否为IE5678,!+[1,] 在IE5678返回true,在IE9、IE10、IE11返回false
    var isLteIE8 = isIE && !+[1, ];
    // 用于防止因通过IE8+的文档兼容性模式设置文档模式,导致版本判断失效
    var dm = document.documentMode,
             isIE5,
             isIE6,
             isIE7,
             isIE8,
             isIE9,
             isIE10,
             isIE11;
    if (dm) {
        isIE5 = dm === 5;
        isIE6 = dm === 6;
        isIE7 = dm === 7;
        isIE8 = dm === 8;
        isIE9 = dm === 9;
        isIE10 = dm === 10;
        isIE11 = dm === 11;
    } else {
        // 判断是否为IE5,IE5的文本模式为怪异模式(quirks),真实的IE5.5浏览器中没有documentpatMode属性  
        isIE5 = (isLteIE8 && (!document.compatMode || document.compatMode === 'BackCompat'));

        // 判断是否为IE6,IE7开始有XMLHttpRequest对象  
        isIE6 = isLteIE8 && !isIE5 && !XMLHttpRequest;

        // 判断是否为IE7,IE8开始有document.documentMode属性  
        isIE7 = isLteIE8 && !isIE6 && !document.documentMode;

        // 判断是否IE8  
        isIE8 = isLteIE8 && document.documentMode;

        // 判断IE9,IE9严格模式中函数内部this不为undefined  
        isIE9 = !isLteIE8 && (function () {
            "use strict";
            return !!this;
        }());

        // 判断IE10,IE10开始支持严格模式,严格模式中函数内部this为undefined   
        isIE10 = isIE && !!document.attachEvent && (function () {
            "use strict";
            return !this;
        }());

        // 判断IE11,IE11开始移除了attachEvent属性  
        isIE11 = isIE && !document.attachEvent;
    };
    // 因为字符串存在覆盖重复原因,判断顺序不可随意修改
    if(isIE5)  return 'IE5' ;
    if(isIE6)  return 'IE6' ;
    if(isIE7)  return 'IE7' ;
    if(isIE8)  return 'IE8' ;
    if(isIE9)  return 'IE9' ;
    if(isIE10) return 'IE10' ;
    if(isIE11) return 'IE11' ;

    if(ua.indexOf('green') > -1)  return '绿色浏览器'; 
    if(ua.indexOf('qq') > -1)  return 'QQ浏览器' ;
    if(ua.indexOf('bidu') > -1) return '百度浏览器' ; 
    if(ua.indexOf('lb') > -1)  return '猎豹浏览器' ; 
    if(ua.indexOf('world') > -1) return '世界之窗浏览器'; 
    if(ua.indexOf('2345') > -1)  return '2345浏览器'; 
    if(ua.indexOf('maxthon') > -1) return '傲游浏览器'; 
    if(ua.indexOf('tao') > -1) return '淘宝浏览器';  
    if(ua.indexOf('ubrowser') > -1) return 'UC浏览器';  
    if(ua.indexOf('coolnovo') > -1) return '枫叶浏览器';  
    if(ua.indexOf('opr') > -1) return 'opera浏览器';  
    if(ua.indexOf('se') > -1) return '搜狗浏览器' ;
    if(ua.indexOf('firefox') > -1) return 'firefox浏览器' ;  
    if(ua.indexOf('safari') > -1 && ua.indexOf("version") > -1) return ('safari浏览器') ;  
    if(window.navigator.mimeTypes[40] || !window.navigator.mimeTypes.length) return '360浏览器'; 
    if(ua.indexOf("chrome") > -1 && window.chrome)  return ('chrome浏览器') ;
    return '其他浏览器'; 
}


</script>
</html>

本文标签: 浏览器js