Я три дня пытался решить, почему приложение моей кордовой программы открывает "пустую" страницу, когда функция 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, и, кстати, на консоли не отображается ошибка.
Спасибо вам всем!
Хорошо, поэтому, пытаясь белым списком URL без успеха, я финал "исправил" проблему. По крайней мере пока, пока я пытаюсь найти что-то лучшее.
Я помещаю этот код в конец AppDelegate.m, поэтому теперь я не подтверждаю, что у url есть действительный сертификат.
@implementation NSURLRequest(DataController)
+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host
{
return YES;
}
@end
Спасибо за ответ!
Я работаю с Xcode 7.3
Возможно, это не причина этой проблемы, но вы должны обновиться до Xcode 8 для работы с iOS 10 - Xcode 8 содержит iOS 10 SDK.
Но на самом деле нет причин не обновлять Xcode 9, который содержит iOS 11 SDK: загрузите его здесь
Я думаю, вам нужно добавить следующее в config.xml
:
<allow-intent href="https://google.es/*" />
или подстановочный знак, чтобы разрешить все намерения (что не рекомендуется):
<allow-intent href="*" />
Удостоверьтесь, что у вас установлен плагин с кордовым списком whitelist: cordova-plugin-whitelist.
<allow-navigation href="*" />
. И не удаляйте записи из вашей политики безопасности контента.