最近在做一个H5相关的需求,使用WebView加载第三方提供的https网页时显示白屏。但是调试打开Baidu和B站的https网址时就能正常打开。被这个问题困扰了半天。
合作方说是android手机在访问https的网站是会要求有证书验证,通过重写WebViewClient里面的onReceivedSslError方法,去掉super.onReceivedSslError方法,使用handler.proceed()方法跳过验证步骤。
后来经过在网上查询以及调试,解决方案为加上这句话。
webSettings.domStorageEnabled = true
原因是因为第三方提供的H5页面使用了LocalStorage存储了token,Android默认是不开启DomStorage的,需要手动开启才可以支持。
解决代码为Kotlin写法,Java写法是调用setDomStorageEnable方法。
如是其他问题,可以参考这篇文章看看是否能解决。
Android WebView加载https出现空白页