最近在做一个分享功能,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%"
});
0 个回复