为什么在 Safari 中无法在应用程序中打开时超时不会执行?

问题描述

我为 iOS 上的 Safari 编写了以下 javascript:

window.location = "myapp://";
setTimeout(function() {
  window.location = "itms-apps://geo.itunes.apple.com/us/myapp";
},9000);

所以第一行尝试使用 URI 方案打开一个应用程序。如果安装了应用程序,用户会看到一个对话框以确认在应用程序中打开,然后用户点击是,应用程序打开。在这种情况下,超时代码永远不会执行,因为一旦应用程序打开,javascript 就会停止执行(这将在不到 9 秒内发生)。所以这很好。

如果未安装该应用程序,您会收到著名的“Safari 无法打开页面,因为地址无效”错误,然后......它永远保持这样。但是我那里也有超时,应该在 9 秒后超时,Appstore 应该已经打开,对吗?那么为什么应用商店在 9 秒后没有打开呢?为什么我的超时代码永远不会执行?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)