【发布时间】:2018-11-14 09:35:15
【问题描述】:
我使用 InAppBrowser 已经有一段时间了,之前没有遇到过这个问题。它正在加载我的 URL,现在它似乎不想这样做。
首先我已正确导入 InAppBroswer,它在 Android 上 100% 运行。这是一个仅限 iOS 的问题。
在我的 config.xml 中:
<access origin="https://www.mydomain.or/*" />
<allow-intent href="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<!-- Call to Plugins -->
<plugin name="cordova-plugin-whitelist" spec="1.3.3" />
<plugin name="cordova-plugin-device" spec="2.0.2" />
<plugin name="cordova-plugin-splashscreen" spec="5.0.2" />
<plugin name="cordova-plugin-ionic-keyboard" spec="2.0.5" />
<plugin name="cordova-plugin-inappbrowser" spec="^3.0.0" />
<plugin name="cordova-plugin-statusbar" spec="^2.4.2" />
<plugin name="cordova-plugin-app-update" spec="^1.6.0" />
<plugin name="cordova-plugin-app-version" spec="^0.1.9" />
<engine name="android" spec="~7.0.0" />
<engine name="ios" spec="~4.5.4" />
我的插件似乎运行良好,没有 lint 或编译错误。
我根据他们的文档调用浏览器:
//construct the instance of browser we are using to launch with Ionic Native
const browser = this.iab.create('https://www.mydomain.or', '_blank','location=no');
//If Browser is Hidden Display
browser.show();
WKWebView 的控制台中根本没有报告任何错误,但我在模拟器和设备上都得到了下面的图像。
尝试解决此问题的步骤如下: 使用 iOS 的安全步骤,将白名单添加到插件中——请参阅上面的插件列表。 我已将检查添加到 plist 文件中:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>localhost</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
<key>www.mydomain.or</key>
<dict/>
</dict>
</dict>
众所周知,这有助于解决过去的类似问题。 我还在我的索引中添加了一个元标记,因为这在过去也帮助了其他人:
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; style-src 'self’; connect-src https://www.mydomain.or; script-src 'self’; media-src *">
这也完全没有帮助我。任何可能知道这是什么原因的人都会有很大的帮助。我觉得我对这个错误束手无策,希望能够解决这个问题,但也知道发生这种情况的根本原因,以便将来避免它。
提前致谢!
【问题讨论】:
标签: ios cordova ionic-framework phonegap inappbrowser