是的,社区已经有多篇关于这方面的主题了,但这篇文章会着重关注实践。
uc | sogou browser/app | baidu browser/app | qq browser | chrome | liebao | 2345 | |||
location | N | N | N | Y | Y | 会提示“页面尝试打开外部程序” N | Y | Y | |
iframe | N | N | N | Y | N | 会提示“页面尝试打开外部程序” N | Y | N | |
pagehide | |||||||||
visibilitychange |
uc | sogou browser | baidu browser | qq browser | chrome | liebao | 2345 | |||
location | Y | Y | N | Y | Y | N | |||
iframe | Y | Y | N | Y | N | N | |||
pagehide | |||||||||
visibilitychange | N | N | Y | Y |
var appTimer = setTimeout(function () {
window.location.href = downloadUrl;
}, 1000);
document.addEventListener('visibilitychange', handleVisibilitychange);
function handleVisibilitychange() {
document.removeEventListener('visibilitychange', handleVisibilitychange);
// fires when user switches tabs, apps, goes to homescreen, etc.
if (document.visibilityState === 'hidden') {
clearTimeout(appTimer);
}
}
注意这里的timeout设得比较短,不推荐设成2秒或者3秒,等待总是不好的。
本文来自网易实践者社区,经作者江云唬授权发布。