在构建之间(我不确定是什么改变触发这个),应用程序从iOS中的以下行为发展而来。为什么iFrame中的链接在系统Safari浏览器中打开?
- 一个主要的WebView加载
index.html
,并具有在它有许多锚 - 锚会留在iFrame中,除非另有操纵和与运行从
index.html
为JavaScript重定向的iframe:
- 一个主要的网络视图加载
index.html
,并有一个iframe中有很多锚点 - 点击或在Safari浏览器应用程序被加载触发新页面的位置变化导致的任何行动,而不是iFrame中的iframe内的任何锚
我有最新版本的cordova-plugin-inappbrowser
( 1.3.0),但似乎没有任何干扰。
我核实,我仍然可以使用JavaScript从index.html
改变属性有关框架内锚,以及添加事件。
我使用下列CSP:
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval';">
我不确定是否有什么用它做。
我已经尝试了数iframe的沙箱属性,试图看到什么坚持,和他们没有改变结果。目前它在:
<iframe id="the-iframe" sandbox="allow-scripts allow-modals allow-popups allow-popups-to-escape-sandbox allow-top-navigation allow-forms allow-same-origin"></iframe>
iframe的src
是动态设置的。
我已经在科尔多瓦开辟了bug report,看看这可能是一个错误,而不是一个功能。
你如何在应用程序中使用'cordova-plugin-inappbrowser'?您是否可以强制所有链接使用'inappbrowser'打开,如[此处](https://github.com/apache/cordova-plugin-inappbrowser#installation)所述? – Dexter
我最初使用inappbrowser捕获某些链接点击并手动在'_system'目标中打开它们,但删除了代码,插件和问题依然存在。 –
所以我只是用cordova-ios 3.8.0重建了它,它没有问题,但是用cordova-ios 4.1.1构建它会导致这个问题。看起来我至少已经隔离了如何找出这个变化。 –