鍍金池/ 問答/HTML/ 請(qǐng)教知乎H5是如何避免喚醒APP過程中safari的網(wǎng)址錯(cuò)誤提示?

請(qǐng)教知乎H5是如何避免喚醒APP過程中safari的網(wǎng)址錯(cuò)誤提示?

在測試H5喚醒a(bǔ)pp的過程中,在未安裝app時(shí),safari下的【淘寶】【京東】都會(huì)出現(xiàn)“網(wǎng)址無效”的彈窗提示(如圖所示)。

但是知乎就不會(huì)出現(xiàn)該提示,而會(huì)直接跳轉(zhuǎn)到下載頁,請(qǐng)問知乎是如何避免的呢?懇請(qǐng)大神解答!

圖片描述

附上參考其他文章所寫的核心代碼:

// 判斷是否存在app
ue.checkApp = function () {
    var _clickTime = +(new Date());
    function check(elsTime) {
        if ( elsTime > 3000 || document.hidden || document.webkitHidden) {
            // cb(1);
            console.log('已安裝app')
        } else {
            location.href = downloadUrl
        }
    }
    //啟動(dòng)間隔20ms運(yùn)行的定時(shí)器,并檢測累計(jì)消耗時(shí)間是否超過3000ms,超過則結(jié)束
    var _count = 0, intHandle;
    intHandle = setInterval(function(){
        _count++;        
        var elsTime = +(new Date()) - _clickTime;
        if (_count>=100 || elsTime > 3000 ) {
            clearInterval(intHandle);
            check(elsTime);
        }
    }, 20);
};

// 修改打開按鈕的href
$btnOpenApp.attr('href', scheme)

// 點(diǎn)擊立即打開
$btnOpenApp.on('click', function() {
    //客戶端檢測微信
    if (browser.isWeChat) {
        $('.pop-openbrowser').show();
    } else {
        ue.checkApp();
    }
});
回答
編輯回答
祈歡

可以去看看魔窗的方案

2018年9月4日 00:47