我有一个下载应用程序button的HTML页面。 当被iOS用户点击时,它通过itms-services将用户redirect到App Store。 我在这里使用的链接是: window.location.replace("itms-apps://itunes.apple.com/app/id578505616"); 它在移动浏览器上看起来如此: Facebook / Pinterest有一个应用程序内浏览器,要求用户的同意,然后用取消或打开应用程序,打开应用程序打开外部链接的警报框的formsredirect用户的应用程序。 它看起来像这样: 它看起来像这样的警报框: 假设用户正在使用iOS设备。 这里预期的行为是当打开应用程序button被点击时,用户被redirect到App Store应用程序。 但是,在实际redirect发生之前,我们看到大约10秒的延迟。 请参阅以下video: 笔记: 我似乎无法在任何时候重现这一点。 有时只能重现。 抱歉! 一旦设备第一次延迟,所有后续的AppStores链接将会很快,直到大约晚了一天。 重新启动手机和/或清除浏览器caching和/或重新安装Facebook / Pinterest无助于重现这一点。 我尝试用https://itunes.apple.com/us/app/trusper-tips-tutorials-how/id578505616?mt=8replaceitms-apps://链接,但是我们仍然遇到延迟时间。 延迟似乎正好是10秒。 为什么这个延迟发生? 这似乎是一个不好的用户体验。 我目前的理论是,问题出在苹果方面。 原因是,一旦打开应用程序button被点击,它是在我们的网站,以及Facebook / Pinterest的应用程序的手中。 我认为,一旦button被点击,iOS正在处理从一个应用程序到另一个应用程序的实际上下文切换。 因此,这表明实际打开URL的系统调用挂起,或打开App Store应用程序的系统调用是? 但是,我无法certificate任何一个是真的还是假的。 有没有人有更好的解释? [编辑04/02/2015]我可以证实,这个问题依然存在,因为我的手机(iPhone 5S W / iOS 8.2)仍然存在。 我做了一些进一步的研究,发现这篇文章,我认为这是一个iOS系统相关的错误: OpenUrl冻结了超过10秒的应用程序