國內(nèi)各大巨頭公司在開發(fā)瀏覽器的時(shí)候都在瀏覽器標(biāo)識(shí)上加了相應(yīng)的字符,
function is_neizhi() {
var ua = navigator.userAgent.toLowerCase();
if (ua.match(/MicroMessenger/i) == "micromessenger") {
return "weixin";
} else if (ua.match(/QQ/i) == "qq") {
return "QQ";
} else if (ua.match(/Alipay/i) == "alipay" && payway == 2) {
return "alipay";
}
return false;
}
由此可以判斷是否是App內(nèi)置瀏覽器或者更加精細(xì)到某App內(nèi)置瀏覽器。但是略坑的是:微信支付不管是在QQ、微信還是支付寶內(nèi)置瀏覽器里面都不能被喚醒;支付寶支付可以在支付寶內(nèi)置瀏覽器喚醒,其余則不能。
在外部瀏覽器打開是用jquery遮罩層方式寫的,下面直接貼代碼:
var isNeizhi = is_neizhi(); //調(diào)用上面js判斷
var winHeight = typeof window.innerHeight != 'undefined' ? window.innerHeight : document.documentElement.clientHeight; //網(wǎng)頁可視區(qū)高度
var weixinTip = $('<div id="weixinTip"><p><img src="live_weixin.png" alt="微信打開"/></p></div>');
if(isNeizhi){
$("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%"
});
$("#weixinTip p img").css({
"max-width": "100%",
"height": "auto"
});