检测浏览器两种方式

1,检测浏览器是否支持标准html5

checkBrowserSupporHtml5: function () {
        let html5Con = {
            isSupportFormData: window.FormData,
            isIe10: !window.ActiveXObject
        };
        let isSupportHtml5 = true;
        let keys = Object.keys(html5Con);
        for(let key of keys) {
            if(!html5Con[key]) {
                isSupportHtml5 = false;
                break;
            }
        }
        return isSupportHtml5;
    }

2,navigator方式精确检测浏览器类型

    this.browser = this.currentBrowser();
    let system=this.CurrentSystem().system;
    this.is360 = this.checkBrowser360();
    for(let key in system){
        if(system[key] != false){
            this.currentSystem = key;
        }
    }
	/**
     * 获取浏览器信息
     * @returns {{}}
     */
    currentBrowser:function(){
        let Browser = {
        };
        let ua = navigator.userAgent.toLowerCase();
        let s;
        (s = ua.match(/msie ([\d.]+)/)) ? Browser['ie'] = s[1] :
            (s = ua.match(/firefox\/([\d.]+)/)) ? Browser['firefox'] = s[1] :
                (s = ua.match(/chrome\/([\d.]+)/)) ? Browser['chrome'] = s[1] :
                    (s = ua.match(/opera.([\d.]+)/)) ? Browser['opera'] = s[1] :
                        (s = ua.match(/crios.([\d.]+)/)) ? Browser['crios'] = s[1] :
                            (s = ua.match(/trident.([\d.]+)/)) ? Browser['ie'] = s[1] :
                                (s = ua.match(/version\/([\d.]+).*safari/)) ? Browser['safari'] = s[1] : 0;
        return Browser;
    },
    /**
     * 获取浏览器信息
     * 主要是检测360用
     * @returns {{}}
     */
    checkBrowser360:function(){
        let ua = navigator.userAgent.toLocaleLowerCase();
        let browserType=null;
        if (ua.match(/chrome/) != null) {
            let is360 = _mime("type", "application/vnd.chromium.remoting-viewer");
            function _mime(option, value) {
                let mimeTypes = navigator.mimeTypes;
                for (let mt in mimeTypes) {
                    if (mimeTypes[mt][option] == value) {
                        return true;
                    }
                }
                return false;
            }
            if(is360) {
                browserType = '360';
            }
            return browserType;
        }
    },
    /**
     * 获取设备信息
     * @returns {{}}
     */
    CurrentSystem:function() {
        let system = {
            win: false,
            mac: false,
            xll: false,
            iphone: false,
            ipoad: false,
            ipad: false,
            ios: false,
            android: false,
            nokiaN: false,
            winMobile: false,
            wii: false,
            ps: false
        };
        let ua = navigator.userAgent;
        // 检测平台
        let p = navigator.platform;
        system.win = p.indexOf('Win') == 0;
        system.mac = p.indexOf('Mac') == 0;
        // system.xll = (p.indexOf('Xll') == 0 || p.indexOf('Linux') == 0);
        system.xll =  p.indexOf('Linux') == 0;
        // 移动设备
        system.iphone = ua.indexOf('iPhone') > -1;
        system.ipoad = ua.indexOf('iPod') > -1;
        system.ipad = ua.indexOf('iPad') > -1;
        system.nokiaN = ua.indexOf('nokiaN') > -1;
        // 检测IOS版本
        if (system.mac && ua.indexOf('Mobile') > -1) {
            if (/CPU (?:iPhone )?OS (\d+_\d+)/i.test(ua)) {
                system.ios = true;
            }
        }
        // 检测Android版本
        if (/Android (\d+\.\d+)/i.test(ua)) {
            system.android = parseFloat(RegExp['$1'])?true:false;
        }
        // 游戏系统
        system.wii = ua.indexOf('Wii') > -1;
        system.ps = /PlayStation/i.test(ua);
        return {
            system: system
        }
    },
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值