InAppBrowser在iOs 10上打开空白页

问题描述 投票:1回答:3

我已经尝试了3天,以解决为什么在函数cordova.InAppBrowser.open被触发并且根本无法解决时,我的cordova应用程序为什么打开了“空白”页面的问题,您能帮我解决这个问题吗?

这是我在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,顺便说一句,控制台上没有显示错误。

谢谢你们!

javascript ios xcode cordova inappbrowser
3个回答
0
投票

我想您需要在config.xml添加以下内容:

<allow-intent href="https://google.es/*" />

或允许所有意图的通配符(不建议使用):

<allow-intent href="*" />    

确保已安装cordova白名单插件: cordova-plugin-whitelist


0
投票

我正在使用Xcode 7.3

可能不是这个问题的原因,但是您应该更新到Xcode 8才能与iOS 10一起使用-Xcode 8包含iOS 10 SDK。

但是实际上没有理由不更新到包含iOS 11 SDK的Xcode 9: 在此处下载


0
投票

好的,因此在尝试将网址列入白名单而没有成功后,我最终“解决”了问题。 至少现在,虽然我试图找到更好的东西。

我将此代码放在AppDelegate.m的末尾,所以现在我不验证url是否具有有效的证书。

@implementation NSURLRequest(DataController)
+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host
{
    return YES;
}
@end

谢谢您的回答!

© www.soinside.com 2019 - 2024. All rights reserved.