我已经用了3天时间试图解决为什么我的cordova应用程序打开了一个空白"当函数cordova.InAppBrowser.open被触发并且我根本无法解决它的页面时,你可以帮助我吗?
这是我在app.js上调用该函数的地方:
var ref = cordova.InAppBrowser.open("https://google.es", "_blank", "location=no,toolbar=no,transitionstyle=crossdissolve");
可能是安全问题还是类似的问题?我已经尝试在索引html meta上添加它:但是没有用。
<meta http-equiv=“Content-Security-Policy” content=“default-src 'self’ gap: mailto:; connect-src https://google.es; style-src 'self’ 'unsafe-inline’; script-src 'self’ 'unsafe-eval’ 'unsafe-inline’; img-src * data:; media-src *”>
我正在使用Xcode 7.3,顺便说一句,控制台上没有显示任何错误。
谢谢大家!
答案 0 :(得分:0)
我想您需要在config.xml
中添加以下内容:
<allow-intent href="https://google.es/*" />
或通配符允许所有意图(不推荐):
<allow-intent href="*" />
确保已安装cordova白名单插件:cordova-plugin-whitelist。
答案 1 :(得分:0)
我正在使用Xcode 7.3
可能不是导致此问题的原因,但您应该更新到Xcode 8以使用iOS 10 - Xcode 8包含iOS 10 SDK。
但实际上没有理由不更新到包含iOS 11 SDK的Xcode 9:下载here
答案 2 :(得分:0)
好的,所以在尝试将网址列入白名单但没有成功之后,我最终“修复”了这个问题。至少就目前而言,我试图找到更好的东西。
我把这段代码放在AppDelegate.m的末尾,所以现在我没有验证url是否有有效的证书。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>
感谢您的回答!