android自定义404页面,Android的WebView中设置使用缓存将导致重定向页面的404结果不可...

Android的WebView中设置使用缓存将导致重定向页面的404结果不可见①Android使用webview得到WebSetting 然后通过WebSetting来设置WebView加载页面时候得参数。Web

Android的WebView中设置使用缓存将导致重定向页面的404结果不可见

①  Android使用webview得到WebSetting 然后通过WebSetting来设置WebView加载页面时候得参数。

WebSettingwsetting = mWebView.getSettings();

//设置可点击,可缩放,可与javaScript交互等

mWebView.setClickable(true);

wsetting.setUseWideViewPort(true);

wsetting.setSupportZoom(true);

wsetting.setBuiltInZoomControls(true);

wsetting.setJavaScriptEnabled(true);

mWebView.setScrollBarStyle(0);

wsetting.setCacheMode(WebSettings.LOAD_NO_CACHE);

其中上面标红的是比较关键的

②  WebSetting中一共有五中设置缓存的方式:

LOAD_CACHE_ELSE_NETWORK

LOAD_CACHE_ONLY

LOAD_DEFAULT

LOAD_NORMAL

根据字面意思我们能很明显的看出来这几种缓存设置是什么意思;当我们设置为LOAD_CACHE_ELSE_NETWORK

的时候,。这时候我们看不到重定向的页面请求URL

并且通过设置

myWebView.setWebViewClient((WebViewClient) (newMyWebViewClient()));

重写WebViewClient类的

public boolean shouldOverrideUrlLoading(WebView view,String url)

函数,,但是重定向的URL我们依旧不能通过这个函数得到,所以加载缓存需要非常注意。

③  网上有一些拦截404,自定义404页面的方法,大多数是通过重写

public boolean shouldOverrideUrlLoading(WebView view,String url)

方法来实现的,通过该方法中的url,用线程去尝试连接获取,能否得到正常返回,不能则加载一个自定义的404;,是完全无效的;因此设置使用缓存很重要,或者说要分几种情况去使用设置缓存。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值