試了一下網(wǎng)上的主要的幾種方法,發(fā)現(xiàn)都不起作用筹淫,比如通過iFrame來判斷的站辉,在真機(jī)嘗試過,并沒有效果损姜。
后面在某位兄弟博客上看到一種方法饰剥,通過判斷瀏覽器窗口是否失去焦點(diǎn)來判斷有沒有安裝APP,如果有安裝的話薛匪,會(huì)調(diào)起APP捐川,窗口會(huì)失去焦點(diǎn)。如果沒有安裝APP的話逸尖,焦點(diǎn)還在該窗口上古沥,然后設(shè)定一個(gè)時(shí)間,超時(shí)即打開下載頁娇跟。
代碼如下:
function checkOutApp() {
var isBlur = false;
// 通過URL scheme來調(diào)起APP
location.href = 'APP的URL scheme';
setTimeout(function() {
if (!isBlur) {
location.href = 'APP的下載鏈接';
}
}, 1000);
// window 每次失去焦點(diǎn)
window.onblur = function() {
console.log('失去焦點(diǎn)');
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('失去焦點(diǎn)');
isBlur = true;
}
}
document.addEventListener(visibilityChangeEvent, onVisibilityChange);
}