为了从Safari打开一个本地应用程序,我们使用了一个重定向的url方案,比如myapp://do/something。
我知道至少有两种方法可以做到这一点:
iframe (只用于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中避免这个确认框吗?
发布于 2016-01-08 21:15:37
添加确认对话框是为了解决许多注册iOS URL方案的应用程序中已知的漏洞。它防止恶意网页调用URL方案,从而导致应用程序在不知情的情况下代表用户进行事务处理。我不知道有什么办法让它失效。
有关该漏洞的更多详细信息,请参见本BSides拉斯维加斯演示文稿:http://www.irongeek.com/i.php?page=videos/bsideslasvegas2014/pg10-ios-url-schemes-omg-guillaume-k-ross。
https://stackoverflow.com/questions/33242557
复制相似问题