手机端webview加载白屏 可能性以及解决方法

时间: 2018-07-04 | 点击: | 栏目: sina收银台

webview基本异常类方法设置:onReceivedError、onReceivedSslError、onPageFinished

1、手机端加载webview 会检测SSL连接地址中证书中的data是否在当前手机时间内,不符合会拦截到onReceivedSslError错误并且白屏

定位:打开手机端的时间设置检查,明确错误定位:触发onReceivedSslError方法,error.getPrimaryError()= 4

解决办法:手机端同步时间信息

2、商户请求新浪网关,没拿到响应跳转地址的。

定位:提供请求、响应报文

解决办法:确定商户服务器与新浪之间的连通性。

3、部分HW、HONGmi机型自身webveiw对https网页加载兼容性问题

定位:触发onReceivedSslError方法,error.getPrimaryError()= 5,如下图。

例证1:HW应用市场对此webview有说明,大家可以去HW自行查阅Android System WebView之说明,此处连接不宜给出。

例证2:经过本人购买的HONGmi note3原版的场景下测试,此机器也重现该问题。包括加载新浪https收银台以及其他类别的部分https大型门户网址。

解决办法:此类机型问题,建议联系手机厂商解决问题。

4、不使用原生webview,苹果用safari的,导致白屏

定位:请商户配合,查看代码是否使用原始webview类

解决办法:不要用safari

5、更多定位与解决办法请参阅对应的报错以后各自处理

IOS,

(void)webView:(UIWebView *)webView didFailLoadWithError:(nullable NSError *)error

{

    NSLOG(@"webView error: %@", error);

//请将error信息弹框到页面 不要留白屏,下图是范例

}

安卓,

void onReceivedSslError(WebView view,SslErrorHandler handler, SslError error) {

errormsg.setText("onReceivedSslError方法报错:sslError:"

+ error.getPrimaryError() + " "

+ error.getCertificate());//请将error信息弹框到页面 不要留白屏,下图是范例

}

image002(02-23-1(02-24-13-07-13).jpg


  • 上一篇:个人收银台删除手机号并删除支付密码的流程
  • 下一篇:收银台个人会员删除银行卡和变更银行卡预留手机号流程

与此文章相关还有:

like article