【问题标题】:How to avoid safari alert when redirecting to iTunes link重定向到 iTunes 链接时如何避免 Safari 警报
【发布时间】:2014-07-15 21:13:59
【问题描述】:

我正在使用以下代码从 safari 启动我的应用程序。我想要的是,当用户单击 safari 中的链接时,它将启动我的应用程序,如果该应用程序未安装在设备中,safari 将重定向到该特定应用程序的 iTunes 链接。

   setTimeout(function() {
  window.location = "http://itunes.com/apps/myappname";
}, 25);

// If "custom-uri://" is registered the app will launch immediately and your
// timer won't fire. If it's not set, you'll get an ugly "Cannot Open Page"
// dialogue prior to the App Store application launching
window.location = "custom-uri://";

一切正常,除了 Safari 在重定向到 iTunes 链接之前显示错误警报(如果应用程序未安装在设备中)。

“Safari 无法打开此页面,因为地址无效”。

由于这是一种糟糕的用户体验,有什么方法可以在重定向到 iTunes 链接之前抑制或避免此弹出窗口。?

【问题讨论】:

  • Check this,可能和你问的一样。
  • 您是否在您的应用程序中处理了 custom-uri://?查看教程:kotikan.com/blog/posts/2011/03/passing-data-between-ios-apps
  • 方法很好,方法也有效,但我认为你不能避免原生警报。
  • 实际上,问题是,如果我想打开 skyep 并且没有安装相同的,那么 safari 将不知道 URL“skype:”。因此它将显示该错误,然后重定向到 iTunes 链接。所以我想避免那个警报弹出。 Safari 应该会重定向到 iTunes 链接而不显示任何错误。
  • 它不工作。 Ajax 没有响应自定义 url

标签: javascript ios iphone safari url-scheme


【解决方案1】:

我仍在使用 uri 方案从我的网站重定向到我的应用程序。在 iOS 10 到 14 上进行了测试(但不能保证它会继续工作多长时间)。我的实现基于其他实现,但有助于管理用户在浏览器中不再需要的剩余空白选项卡:

https://stackoverflow.com/a/68653745/2036221

【讨论】:

    【解决方案2】:

    您可以通过 iframe 打开应用来抑制移动 safari “无效地址”警告。这段代码对我有用: https://gist.github.com/zengfenfei/51b36c008faaea4cb934

    【讨论】:

    • 我很想知道你是如何编写代码来工作的;我无法让它工作。
    • 直到iOS9,我才醒来,iOS9 及以上呢?我们怎样才能让它发挥作用?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多