J'ai construit une application iOS avec Cordova. L’application essaie de charger une page Web, par exemple http://votredomaine.com/home dans index.html. Cependant, la page reste blanche et vierge avec une erreur dans la console "La navigation interne a été rejetée - <allow-navigation> n'est pas défini pour url = ' http://votredomaine.com/home '".
J'ai déjà mis <access Origin="http://yourdomain.com/home" subdomains="true" />
et aussi essayé en mettant <allow-navigation>
tag. Mais la page reste vide. est-ce que je manque quelque chose d'autre? S'il vous plaît guider.
Après avoir ajouté la balise Meta suivante dans index.html, "l'erreur de navigation interne" a disparu, mais la page est toujours blanche. :(
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script src: 'self' 'unsafe-inline' 'unsafe-eval'">
J'avais ce problème et il s'avère qu'il y a deux fichiers config.xml. Le premier est dans Xcode, mais vous devez éditer le second depuis le système de fichiers.
AppName/config.xml
AppName/platforms/ios/AppName/config.xml
J'ai ajouté
<allow-navigation href="*" />
à tous les deux et cela a fonctionné. Utiliser 6.3.0.
Vous devez ajouter cette ligne à votre config.xml
<allow-navigation href="http://yourdomain.com/home" />
ou celui-ci si vous voulez autoriser la navigation vers toutes les urls de votredomaine.com
<allow-navigation href="http://yourdomain.com/*" />
Il est déconseillé d'ouvrir une URL dans la vue Web de votre base. Utilisez le cordova-plugin-inappbrowser et appelez le inappbrowser pour ouvrir l’URL externe:
function open_outer_url(url){
if(window.cordova && window.cordova.InAppBrowser){
window.cordova.InAppBrowser.open(url, "_blank", 'location=no');
}else{
window.open(url,'_blank');
}
}
Merci pour le pointeur. La solution
<allow-navigation href="about:" />
causé une erreur préparer Cordova pour moi. J'ai besoin d'utiliser les éléments suivants à la place:
<allow-navigation href="about:*" />
C'est un schéma utilisé en interne, autorisez seulement l'accès/la navigation:
<access Origin="about:*" />
<allow-navigation href="about:" />
Il n'est pas recommandé d'utiliser
<access Origin="*" />
<allow-navigation href="*" />
comme décrit dans cordova-plugin-whitelist .