Подтвердить что ты не робот

Внутренняя навигация отклоняется: <allow-navigation not set> в Кордове на iOS

Я построил приложение iOS, используя Кордову. Приложение пытается загрузить веб-страницу, например. http://yourdomain.com/home в index.html. Но страница остается пустой, с ошибкой в ​​консоли "Внутренняя навигационная отклоненная - < allow-navigation > не установлена ​​для url = ' http://yourdomain.com/home" ".

Я уже установил <access origin="http://yourdomain.com/home" subdomains="true" />, а также попытался установить тег <allow-navigation>. Но страница остается пустой. я что-то пропустил? Пожалуйста, направляйте.

После добавления следующего meta-тега в index.html "внутренняя ошибка навигации" исчезла, но страница все еще белая.: (

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

Ответ 1

У меня возникла эта проблема, и оказалось, что есть два файла config.xml. Первый - в Xcode, но вы должны отредактировать второй файл из файловой системы.

AppName/config.xml

AppName/platforms/ios/AppName/config.xml

Я добавил

<allow-navigation href="*" /> 

для обоих из них, и это сработало. Использование 6.3.0.

Ответ 2

Вы должны добавить эту строку в свой config.xml

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

или этот, если вы хотите разрешить навигацию ко всем URL-адресам на yourdomain.com

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

Ответ 3

Не рекомендуется открывать URL-адрес в вашем базовом веб-представлении. Используйте cordova-plug-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');
    }
}

Ответ 4

Это внутренняя схема, просто разрешающая ей доступ к ней:

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

Не рекомендуется использовать

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

как описано в cordova-plugin-whitelist.