h5在瀏覽器中無法判斷出用戶是否安裝某個app,只是如果用戶安裝了這個APP調起app的時候,會使頁面失去焦點
在微信裏無法調起app,所以在微信裏添加一個提示讓用戶在瀏覽器裏打開。
$(".goBuy").click(function () {//判斷微信打開給出提示彈窗,瀏覽器打開的話,已安裝app打開app,沒有安裝跳轉到下載地址
checkOutApp();
})
function checkOutApp() {
var isBlur = false;
// 通過URL scheme來調起APP
if(ua.match(/MicroMessenger/i)=="micromessenger") { //是否微信打開
$(".commonMask").show();
$(".openInBrower").show();//微信打開出浮層,微信暫不支持Scheme打開非企鵝應用
return false;
}else{
location.href = 'xinweifashion://';//app的 url scheme
setTimeout(function () {
if (!isBlur) {
location.href = 'https://android.myapp.com/myapp/detail.htm?apkName=tv.xinwei.xinweifashion';//app的下載地址
}
}, 1000);
}
// window 每次失去焦點
window.onblur = function () {
console.log('失去焦點');
isBlur = true;
};
var hiddenProperty = 'hidden' in document ? 'hidden' :
'webkitHidden' in document ? 'webkitHidden' :
'mozHidden' in document ? 'mozHidden' :
null;
var visibilityChangeEvent = hiddenProperty.replace(/hidden/i, 'visibilitychange');
var onVisibilityChange = function () {
if (document[hiddenProperty]) {
console.log('失去焦點');
isBlur = true;
}
}
document.addEventListener(visibilityChangeEvent, onVisibilityChange);
}