g***@126.com
g***@126.com
  • 发布:2016-09-30 10:27
  • 更新:2016-09-30 10:27
  • 阅读:11172

JS判断QQ内置浏览器和QQ浏览器

分类:HTML5+

最近在做一个分享功能,APP端分享到各大平台,用户点击链接会进入一个H5页面,如果用户装了你的APP则会调到APP里面的具体页面,没有安装APP的用户就在H5页面内而不会跳转,用户在H5页面里面点击某些功能会提示用户下载APP。
网上都是给他加个一个遮盖层,然后运用外部的浏览器打开,解决这种兼容性问题。搜索很多也没有更好的解决办法,索性自己也用这种办法。
前期遇到的问题就是判断不了QQ浏览器和QQ内置浏览器。
通过console.log(ua),然后比较了各个浏览器的的值。得出以下的方法:

$scope.is_weixin = function() {  
    var ua = navigator.userAgent.toLowerCase();  
    if (ua.match(/MicroMessenger/i) == "micromessenger"||ua.match(/WeiBo/i) == "weibo") {  
        return true;  
    }else if(ua.indexOf('mobile mqqbrowser')>-1){  
        return true;  
    }else if(ua.indexOf('Safari')>-1){  
        return true;  
    }else{  
        return false;  
    }  
}  

var isWeixin = $scope.is_weixin();  
var winHeight = typeof window.innerHeight != 'undefined' ? window.innerHeight : document.documentElement.clientHeight;  
var weixinTip = $('<div id="weixinTip"><p><img src="img/live_weixin.png" alt=""/></p></div>');  

if(isWeixin){  
    $("body").append(weixinTip);  
}  
$("#weixinTip").css({  
    "position":"fixed",  
    "left":"0",  
    "top":"0",  
    "height":winHeight,  
    "width":"100%",  
    "z-index":"1000",  
    "background-color":"rgba(0,0,0,0.8)",  
    "filter":"alpha(opacity=80)",  
});  
$("#weixinTip p").css({  
    "text-align":"center",  
    "margin-top":"10%",  
    "padding-left":"5%",  
    "padding-right":"5%"  
});  
2016-09-30 10:27 负责人:无 分享
已邀请:

该问题目前已经被锁定, 无法添加新回复