InAppBrowser не загружает сайт из-за SSL-сертификата - PullRequest
0 голосов
/ 17 мая 2019

У меня есть приложение Ionic 5.x с плагином InAppBrowser. Я пытаюсь загрузить веб-сайт с помощью плагина, браузер открывается, но страница полностью пуста и без ошибок.

После многих часов отладки я пришел к выводу, что проблема заключается в сертификате веб-сайта, которому не доверяют.

Что не имеет смысла, так это то, что веб-сайт защищен при просмотре в браузере и является «Проверено: DigiCert Inc»

Другие вопросы с той же проблемой: Загрузка URL-адреса в пустых экранах показывает , Cordova inAppBrowser открывает www.google.com, но не мою пользовательскую страницу входа в Facebook?

У кого-нибудь есть идеи, почему это происходит?

Код, который я использую для открытия:

this.browser = this.inAppBrowser.create( "https://mywebsite.com/", "_blank", "location=yes" );
this.browser.on("loadstart").subscribe( event => {
  console.log( event ); // not triggered
});
this.browser.on("loadstop").subscribe( event => {
  console.log( event ); // triggered
});
this.browser.on("loaderror").subscribe( event => {
  console.log( event ); // not triggered
});

1 Ответ

0 голосов
/ 18 мая 2019

После многих часов копания я наконец смог найти решение.Редактирование файла плагина не является идеальным, но оно решает эту проблему!

Редактируйте этот файл: plugins/cordova-plugin-inappbrowser/src/android/InAppBrowser.java

Добавьте это в раздел импорта:

import android.net.http.SslError;
import android.webkit.SslErrorHandler;

Затемдобавьте это к классу InAppBrowserClient (около строки 1224):

public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
    handler.proceed();
    return;
}
...