Si l’url de Deeplink ne fonctionne pas, envoyez-le à la page de téléchargement

J’ai besoin de mettre en place un javascript où je peux détecter si mon lien profond fonctionne ou non. Pour cela, j’utilise la fonction timeout pour le faire. Voici l’exemple de code que j’ai utilisé.

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

Mais ce code fonctionne bien sur Android et iOS, mais il crée un problème lorsqu’il s’agit du navigateur de bureau. Dans le navigateur de bureau une fois que Deeplink fonctionne correctement, la fonction de délai d’attente ne s’arrête pas et redirige vers la page de téléchargement.

Donc, enfin, je veux un événement qui peut détecter si mon Deeplink fonctionne ou non, afin que je puisse définir la fonction cleartimeout pour empêcher la redirection vers l’URL de téléchargement

Pour le navigateur de bureau, pensez à utiliser l’écouteur de flou de fenêtre et agissez en conséquence. L’auditeur de flou vous dira si l’utilisateur a quitté l’onglet ou le navigateur.

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

Je voudrais essayer avec une expression d’horodatage dans le délai d’attente.

Quelque chose comme ça (jouer avec les seuils si nécessaire):

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