Javascript iOS Safari:使用deeplink,我如何防止在安装应用程序时打开应用程序商店?
我正在为Javascript iOS Safari:使用deeplink,我如何防止在安装应用程序时打开应用程序商店?,javascript,ios,node.js,swift,deeplink,Javascript,Ios,Node.js,Swift,Deeplink,我正在为iOS应用程序实现deeplink,并实现了它,但问题是当我在iPhone中单击deeplink API时,应用程序正在打开,但在给定的时间之后,应用程序商店页面也在应用程序顶部打开 我现在做的是: 我有一个用于deeplink的节点API,它正在发送一个HTML文件名send.HTML,其中包含一些javascript代码: send.html: <!DOCTYPE html> <html lang="en"> <head> <met
iOS应用程序实现deeplink
,并实现了它,但问题是当我在iPhone中单击deeplink API
时,应用程序正在打开,但在给定的时间之后,应用程序商店页面也在应用程序顶部打开
我现在做的是:
我有一个用于deeplink
的节点API,它正在发送一个HTML文件名send.HTML
,其中包含一些javascript代码:
send.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<script src="/deeplink-redirect.js"></script>
</head>
<body deeplink="iOS_DEEPLINK_URL" appstorelink="APP_STORE_LINK">
<img src="logo.png" alt="logo" />
<br />
<a href="APP_STORE_LINK">Download the app</a>
</body>
</html>
但是发生了什么:当我在iPhone中单击deeplink API
时,它会在safari中发送上面的HTML文件和应用程序URLwindow.location.href=document.body.getAttribute('deeplink')代码>打开应用程序,但500毫秒后代码document.body.getAttribute('appstorelink')执行代码>并打开我的应用程序顶部的应用程序商店
但是,如果我将超时时间从500增加到4000,则其工作正常,应用程序商店不会打开。但是我想要的超时时间非常少,比如500,当应用没有安装在iPhone上时,它应该重定向到给定的应用商店链接。
我有正确的苹果应用程序站点关联
文件和正确的GET API/apple应用程序站点关联
请提出解决方案。关于StackOverflow有很多问题,但没有人为我工作
技术:Nodejs、iOS、Hapijs、Javascript、Html
浏览器:Safari(在iPhone中)我已经实现了很多次深度链接,我不得不说我确实使用了5000毫秒的延迟,500毫秒的延迟非常少,因为用户需要在Safari的弹出窗口上执行操作才能打开应用程序(如果有),所以基本上你必须使用延迟时间,您也可以尝试使用universal deep Links,只需将此代码行称为“window.location.href=document.body.getAttribute('appstorelink');”当Deeplink无法检测应用程序时。不要在setTimeout函数中调用此函数。
window.onload = function () {
window.location.href = document.body.getAttribute('deeplink');
setTimeout(function () {
window.location.href = document.body.getAttribute('appstorelink');
}, 500)
}