美文网首页
h5页面 判断网页在哪打开

h5页面 判断网页在哪打开

作者: 唯吾听烟雨 | 来源:发表于2021-03-08 16:59 被阅读0次
    const ua = navigator.userAgent.toLowerCase();
    const isInWeibo = () => / Weibo /i.test(ua);   //微博 ture
    const isInWeixin = () => /MicroMessenger/i.test(ua); //微信内置浏览器
    const isInQQ = () => /QQ/i.test(ua);  //qq内置浏览器
    const isAndroid = () => /Android/i.test(ua); 
    const isDingTalk = () => /DingTalk/i.test(ua);
    const isUCBrowser = () => /UCBrowser/i.test(ua);
    const isBaidu = () => /Baidu//i.test(ua);
       
    

    获取浏览类型与系统的函数

    // 各主流浏览器
    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';
        }
    }
    

    前端H5用js判断页面在IOS,Android,微信,pc端打开的方法

    // 判读是否是IOS打开
    isIos: function () {
      var agent = navigator.userAgent;
      var isiOS = !!agent.match(/iPhone|mac|iPod|iPad|ios/i);
      return isiOS
    },
    // 判读是否是android打开
    isIos: function () {
    var agent = navigator.userAgent;
    var isiOS = agent.match(/(Android)\s+([\d.]+)/);
    return isiOS
    },
    
    判读是否是PC打开
    isPc: function () {
    var plat = navigator.platform;
    var win = plat.indexOf(“Win”) == 0;
    var mac = plat.indexOf(“Mac”) == 0;
    if (win || mac) {
    return true
    } else {
    return false
    }
    } ,
    
    判读是否是微信中打开
    isWeiXin: function () {
    var ua = window.navigator.userAgent.toLowerCase();
    if((/MicroMessenger/i).test(ua)){
    return true;
    }else{
    return false;
    }
    },
    

    js判断H5页面是否是在QQ\UC浏览器中打开

    //js判断H5页面是否是在QQ\UC浏览器中打开
    var u = navigator.appVersion;
    var uc = u.split('UCBrowser/').length > 1  ? 1 : 0;
    var qq = u.split('MQQBrowser/').length > 1 ? 2 : 0;
    var wx = ((u.match(/MicroMessenger/i)) && (u.match(/MicroMessenger/i).toString().toLowerCase() == 'micromessenger'));
    //注意判断是QQ浏览器还需排除微信打开环境,即:
    if(qq && !wx){
     return 1;
    }else{
       return 0;
    }
    //判断是否是UC浏览器打开
    if(uc){
     return 1;
    }else{
       return 0;
    }
    
    
    应用场景:
    调用浏览器自带分享功能实现第三方分享
    

    其他参考:
    https://www.cnblogs.com/nangezi/p/10830257.html

    相关文章

      网友评论

          本文标题:h5页面 判断网页在哪打开

          本文链接:https://www.haomeiwen.com/subject/cbmpqltx.html