我需要实现一个JavaScript,在其中我可以检测到我的深层链接是否有效,如果可以,则应保持不变,但如果不起作用,则必须开始下载文件。
为此,我使用超时功能来做到这一点。这是我使用的示例代码。
setTimeout(function () { window.location = "https://itunes.apple.com/appdir"; }, 25);
window.location = "appname://";
但是此代码在android和ios上工作正常,但在桌面浏览器上却造成了问题。 Deeplink正常工作后,在桌面浏览器中,超时功能不会停止,它会重定向到下载页面。
所以最后我想要一些事件来检测我的Deeplink是否正常工作,所以我可以设置cleartimeout函数来防止重定向到下载URL
最佳答案
对于桌面浏览器,请考虑使用窗口模糊监听器并采取相应措施
模糊监听器会告诉您用户是否离开了标签页或浏览器
window.onblur=()=>{//deeplink check (maybe unsuccessfull?)
window.onfocus=()=>{//deeplink unsucesfull};
}