【发布时间】:2016-01-19 11:04:09
【问题描述】:
要从 Safari 中打开本机应用程序,我们使用 url 方案重定向,例如 myapp://do/something。
我知道至少有两种方法可以实现这一目标:
- 插入
iframe,src 属性等于所需的url(仅在iOS8 上工作,在iOS9 上停止工作) - 将
window.location.href属性替换为所需的网址(适用于iOS8 和iOS9)
这两种方式都适用于 iOS8 并立即将用户重定向到已安装的应用程序,而无需任何确认对话框。但是从 iOS9 开始,Safari 开始显示确认对话框,以确保用户确实想要打开应用程序:
上面截图页面上的代码非常简单:
<!DOCTYPE html>
<html>
<head></head>
<body>
<script>
window.location.href = 'fb://';
</script>
</body>
</html>
我在苹果的网站上没有找到任何关于此更改的官方描述。在我看来,我们对这种行为无能为力。
问题:有人已经面临这个问题了吗?有什么想法可以避免在 Safari 中出现这个确认框吗?
【问题讨论】:
-
您使用的是 UIWebView 还是 Safari?
-
主要是我对如何在 Safari 浏览器中避免它感兴趣。我已经相应地更新了描述。
-
@kabiroberai 在使用内部 UIWebView 而不是 Safari 的情况下有什么不同吗?
标签: javascript safari ios9 url-redirection url-scheme