Кордова InAppBrowser.open. Ссылки открываются в сафари, а не внутри приложения

Мое небольшое приложение Cordova довольно простое и после проверки наличия соединения открывает URL-адрес веб-сайта (например, http://www.example.com). Я хочу, чтобы все URL-адреса/веб-сайты отображались в приложении.

Основная проблема заключается в том, что на iOS открывается только первая страница в приложении, а любая другая ссылка, по которой щелкнули / коснулись, открывается в браузере Safari.

в config.xml я уже установил

<access origin="*" />

а в index.js я добавил

  onDeviceReady: function() {
        window.open = cordova.InAppBrowser.open;
        if (navigator.connection.type == Connection.NONE) {
      navigator.notification.alert('An internet connection is required to continue');
      } else {
          setTimeout(function(){window.open('http://www.example.com', '_self', 'location=no')} , 3000);

      }
    },

Я уже пробовал использовать свой код без inappbrowser (без второй строчки в предыдущем коде и без плагина). Я уже удалил и прочитал платформы. Я воссоздал все приложение. Я проверил приложение (проверка платформы Cordova).

На андроиде и блэкберри работает так, как мне нужно, с навигацией внутри приложения (с inappbrowser и без)!

кордова 6.1.1 mac mini - osx el capitan 10.11.5


person Trueliarx    schedule 23.05.2016    source источник


Ответы (1)


Я полагал, что это вызвано неправильной настройкой свойств разрешения href в config.xml, как описано здесь:

https://issues.apache.org/jira/browse/CB-10859

В вашем файле config.xml найдите это объявление:

<allow-intent href="*" />

И замените его более конкретными намерениями, такими как:

<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />

Это должно охватывать большинство намерений.

person greaterKing    schedule 14.03.2017
comment
Я добавил конкретный веб-сайт / URL-адрес в намерение и добавил больше разрешений. Все после пересборки проекта с нуля и копирования файлов из старого проекта. Это сработало после того, как в него было вложено немного времени :). Спасибо - person Trueliarx; 20.03.2017
comment
Привет, у меня такая же проблема. Не могли бы вы поделиться, что вы изменили? Возможно, опубликуйте части из вашего config.xml. Очень признателен! - person Razi Syed; 27.06.2017
comment
@RaziSyed то, что я написал выше, это именно то, что находится в моем файле конфигурации. - person greaterKing; 28.06.2017