内部导航被拒绝:iOS上的Cordova上的<allow-navigation not set>

我已经使用Cordova构build了一个iOS应用程序。 该应用程序尝试加载一个网页,例如http://yourdomain.com/home in index.html。 但是,页面在控制台“内部导航被拒绝 – <allow-navigation>未设置为url =' http://yourdomain.com/home '”时会保持白色空白。

我已经设置了<access origin="http://yourdomain.com/home" subdomains="true" />并尝试通过设置<allow-navigation>标签。 但是页面保持空白。 我错过了什么吗? 请指导。

在index.html中添加以下元标记后,“内部导航错误”消失了,但页面仍为空白。 🙁

 <meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script src: 'self' 'unsafe-inline' 'unsafe-eval'"> 

我有这个问题,事实certificate有两个config.xml文件。 第一个是Xcode,但是你必须从文件系统中编辑第二个。

 AppName/config.xml AppName/platforms/ios/AppName/config.xml 

我补充说

 <allow-navigation href="*" /> 

到他们两个,它的工作。 使用6.3.0。

您必须将此行添加到您的config.xml

 <allow-navigation href="http://yourdomain.com/home" /> 

或者这个如果你想允许导航到yourdomain.com上的所有url

 <allow-navigation href="http://yourdomain.com/*" /> 

不build议在您的基本Web视图中打开一个url。 使用cordova-plugin-inappbrowser并调用inappbrowser打开外部url:

 function open_outer_url(url){ if(window.cordova && window.cordova.InAppBrowser){ window.cordova.InAppBrowser.open(url, "_blank", 'location=no'); }else{ window.open(url,'_blank'); } } 

这是一个内部使用的scheme,只允许访问/导航:

 <access origin="about:" /> <allow-navigation href="about:" /> 

不build议使用

 <access origin="*" /> <allow-navigation href="*" /> 

如cordova-plugin-whitelist中所述 。