WebView监听网页加载成功与失败

方法一:利用原生回调方法

private boolean isSuccess = false;
private boolean isError = false;

public void onPageFinished(WebView view, String url) {
    super.onPageFinished(view, url);
    if (!isError) {
        isSuccess = true;
        //回调成功后的相关操作
    }
    isError = false;
}

public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
super.onReceivedError(view, request, error);
    isError = true;
    isSuccess = false;
    //回调失败的相关操作
}

原理总结:在访问失败的时候会首先回调onReceivedError,然后再回调onPageFinished。

方法二:给url打tag

这个方法不是适用所有人的,我当时可以用到这样的思路,主要是业务中只需要判断第一次的网页是否加载成功,只要第一次加载成功后后面的都可以交给html页面来解决加载状态。而加载成功前后的url是不一样的,举个例子:
首先启动webview时用到的url是http://www.abcd.com/shop, 这个在第一次打开app之前肯定是保存在本地的,或者是从登陆页面获取的,而加载成功以后的首页面就会变成http://www.abcd.com/shop#home ,这样我们就可以通过onPageFinished方法中转入的url来判断是否是第一次加载成功后的页面了。

url.contains("#");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值