如果Deeplink的网址不起作用,就把用户送到下载页面。

问题描述 投票:5回答:2

我需要实现一个javascript,让我可以检测我的深层链接是否工作,如果工作,那么它应该保持不变,但如果它不工作,那么它必须开始下载文件。为此,我使用超时功能来实现。这里是我使用的示例代码。

setTimeout(function () { window.location = "https://itunes.apple.com/appdir"; }, 25);
window.location = "appname://";

但是这段代码在android和ios上工作得很好,但是在桌面浏览器上却出现了问题。在桌面浏览器中,Deeplink正常工作后,超时功能没有停止,而是重定向到下载页面。

所以最后我想要一些事件来检测我的Deeplink是否工作,这样我就可以设置cleartimeout功能来防止重定向到下载URL。

javascript jquery windows deep-linking
2个回答
0
投票

对于桌面浏览器,考虑使用窗口模糊监听器,并采取相应的行动模糊监听器将告诉你,如果用户离开标签或浏览器。

window.onblur=()=>{//deeplink check (maybe unsuccessfull?)
window.onfocus=()=>{//deeplink unsucesfull};

}

0
投票

我会尝试在超时中使用一个时间戳表达式。

像这样(根据需要玩转阈值)。

var clickedTm = +new date;

setTimeout(function () {
   if (+new date - clickedTm < 600) {
      window.location = "https://itunes.apple.com/appdir"; 
   }
}, 500);

window.location = "appname://";
© www.soinside.com 2019 - 2024. All rights reserved.