zoukankan      html  css  js  c++  java
  • 浏览器、系统区分

    获取各主流浏览器

    function getBrowser() {
        var u = navigator.userAgent;
     
        var bws = [{
            name: 'sgssapp',
            it: /sogousearch/i.test(u)
        }, {
            name: 'wechat',
            it: /MicroMessenger/i.test(u)
        }, {
            name: 'weibo',
            it: !!u.match(/Weibo/i)
        }, {
            name: 'uc',
            it: !!u.match(/UCBrowser/i) || u.indexOf(' UBrowser') > -1
        }, {
            name: 'sogou',
            it: u.indexOf('MetaSr') > -1 || u.indexOf('Sogou') > -1
        }, {
            name: 'xiaomi',
            it: u.indexOf('MiuiBrowser') > -1
        }, {
            name: 'baidu',
            it: u.indexOf('Baidu') > -1 || u.indexOf('BIDUBrowser') > -1
        }, {
            name: '360',
            it: u.indexOf('360EE') > -1 || u.indexOf('360SE') > -1
        }, {
            name: '2345',
            it: u.indexOf('2345Explorer') > -1
        }, {
            name: 'edge',
            it: u.indexOf('Edge') > -1
        }, {
            name: 'ie11',
            it: u.indexOf('Trident') > -1 && u.indexOf('rv:11.0') > -1
        }, {
            name: 'ie',
            it: u.indexOf('compatible') > -1 && u.indexOf('MSIE') > -1
        }, {
            name: 'firefox',
            it: u.indexOf('Firefox') > -1
        }, {
            name: 'safari',
            it: u.indexOf('Safari') > -1 && u.indexOf('Chrome') === -1
        }, {
            name: 'qqbrowser',
            it: u.indexOf('MQQBrowser') > -1 && u.indexOf(' QQ') === -1
        }, {
            name: 'qq',
            it: u.indexOf('QQ') > -1
        }, {
            name: 'chrome',
            it: u.indexOf('Chrome') > -1 || u.indexOf('CriOS') > -1
        }, {
            name: 'opera',
            it: u.indexOf('Opera') > -1 || u.indexOf('OPR') > -1
        }];
     
        for (var i = 0; i < bws.length; i++) {
            if (bws[i].it) {
                return bws[i].name;
            }
        }
     
        return 'other';

    系统区分

    // 系统区分
    function getOS() {
        var u = navigator.userAgent;
        if (!!u.match(/compatible/i) || u.match(/Windows/i)) {
            return 'windows';
        } else if (!!u.match(/Macintosh/i) || u.match(/MacIntel/i)) {
            return 'macOS';
        } else if (!!u.match(/iphone/i) || u.match(/Ipad/i)) {
            return 'ios';
        } else if (!!u.match(/android/i)) {
            return 'android';
        } else {
            return 'other';
        }
    }
  • 相关阅读:
    Git for Windows之基础环境搭建与基础操作
    TFS2018环境搭建一单实例安装(适用于小型团队)
    TFS2018环境搭建一硬件要求
    Proxy代理模式(结构型模式)
    Flyweight享元模式(结构型模式)
    Facade外观模式(结构性模式)
    Decorator装饰者模式(结构型模式)
    Composite组合模式(结构型模式)
    mybatis中 #{} 和 ${} 的区别
    解决mybatis中#{}导致的The error may involve defaultParameterMap的问题
  • 原文地址:https://www.cnblogs.com/C-target/p/14212099.html
Copyright © 2011-2022 走看看