web-dev-qa-db-ja.com

内部ナビゲーションが拒否されました:<allow-navigation not set> in Cordova on iOS

Cordovaを使用してiOSアプリを作成しました。アプリはウェブページの読み込みを試みます。 http://yourdomain.com/home 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'">
35

私はこの問題を抱えていましたが、2つのconfig.xmlファイルがあることがわかりました。最初のものはXcodeにありますが、ファイルシステムから2番目のものを編集する必要があります。

AppName/config.xml

AppName/platforms/ios/AppName/config.xml

追加した

<allow-navigation href="*" /> 

それらの両方に、それは働いた。 6.3.0を使用します。

63
Tom Kincaid

この行をconfig.xmlに追加する必要があります

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

または、yourdomain.comのすべてのURLへのナビゲーションを許可する場合は、これ

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

ベース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');
    }
}
5
Yang Tsao

ポインターをありがとう。ソリューション

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

コルドバの準備エラーが発生しました。代わりに次を使用する必要があります。

<allow-navigation href="about:*" />
5
Edmond Chui

内部で使用されるスキームであり、アクセス/ナビゲーションを許可するだけです:

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

使用することは推奨されません

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

cordova-plugin-whitelist で説明されています。

4
asgoth