由于SSL证书,InAppBrowser无法加载网站

时间:2019-05-16 21:55:45

标签: ionic-framework ssl-certificate inappbrowser

我有一个带有InAppBrowser插件的Ionic 5.x应用程序。我正在尝试使用该插件加载网站,浏览器打开,但页面完全空白,并且未引发任何错误。

经过数小时的调试,我得出的结论是问题是该网站的证书不受信任。

用浏览器查看该网站是安全的,并且是“通过:DigiCert Inc.验证的”。

同一问题的其他问题: Loading url in ionic shows blank screenCordova inAppBrowser opens www.google.com but not my custom facebook login page?

有人对发生这种情况有任何想法吗?

我用来打开的代码:

NameEditorComponent

2 个答案:

答案 0 :(得分:0)

经过许多小时的挖掘,我终于找到了解决方案。编辑插件文件不是很理想,但是确实可以解决此问题!

编辑此文件: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;
}

答案 1 :(得分:0)

  1. 在“ plugins \ cordova-plugin-inappbrowser \ src \ android \ InAppBrowser.java”文件中:
    将此行添加到导入部分:

    import android.net.http.SslError;
    import android.webkit.SslErrorHandler;
    
  2. 将其添加到InAppBrowserClient类中(在1224行附近):

    public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
        handler.proceed();
        return;
    }
    
  3. 在项目根控制台中:执行

    $ cordova platform remove android
    $ cordova platform add android