0

我的 ionic 应用程序为加载 HTML 横幅的不同来源的广告服务提供 iframe。当用户单击 HTML 横幅时,预计会在系统浏览器中打开该链接。广告服务使用 window.open() ,这就是浏览器抛出以下错误的地方(更改名称以使其简单)。

不安全的 JavaScript 尝试从 URL 为“ https://sample.test.com/t17/ ”的框架启动对 URL 为“ http://localhost/send-money ”的框架的导航。尝试导航的框架以它的顶级窗口为目标,但它既不与它的目标同源,也没有收到用户手势。

我在我的 config.xml 中将 test.com 列入了白名单,这允许我在我的 ionic App 的 iframe 中加载来自不同来源的 HTML 内容。但是如何允许来自不同来源的 HTML(test.com)的链接在系统浏览器中打开。显然,我正在寻找 Android 和 iOS 版本。

4

1 回答 1

1

我通过在元素中引入sandbox属性解决了这个问题。iframe来自 test.com 的 HTML 用于window.open(target)在浏览器实例中打开链接。有几个可用的令牌,但使其在 Android 上运行所需的最低要求如下。

<!--incomplete line below-->    
<iframe sandbox="allow-top-navigation allow-scripts allow-popups"
于 2020-03-13T08:29:57.550 回答