首页 > 编程知识 正文

web项目加载片读取不出来,webview加载网页

时间:2023-05-05 20:04:29 阅读:244103 作者:3019

关于webview网页中的图片无法加载的问题我个人总结了两种情况:
1.由于android系统自身版本不同引起的问题。

在说明情况之前我们先看一个api

上面的图片中的解释大概是说:
mWebView.getSettings().getLoadsImagesAutomatically()方法的返回值为true时webview采取阻塞的方式加载网络图片,反之如果你设置的值为false,图片将自动进行加载,并且使用这个方法只是为了减少带宽。

下面具体说一下具体的原因及其解决办法:

原因:由于在android4.4以前为了减少带宽采用阻塞式加载网页图片资源,这是需要将上图中的方法的参数设置为true,但是在更高的版本上面由于将 参数设置为true反而导致图片无法加载。要知道具体的原因大家可以看一下更高版本的源码的具体实现,我这边没有 源码就不做解释了。

解决办法:需要将上面方法的参数设置为false。

2.由于 Internet Explorer 8.0 以上,Firefox 3.5 以上,Chrome 4.0 以上都是支持Html5 中的 DOM Storage存储机制 ,导致我们通过webview加载的部分html5页面中的部分图片资源加载失败。

同样在说明情况之前我们先看一个api:

方法的意思是说是否使用DOM storage API,那么什么是DOM storage呢?他是web端采用Html5编程时的一种存储机制,和之前的Cookies存储有很多相似的地方,但是比它更优秀。具体的介绍看下面的链接:浅谈 HTML5 的 DOM Storage 机制,其实我们只需稍作了解就可以。
下面我们看一下解决办法:
原因:由于我们要加载的页面中才用了这种存储机制,而且客户端默认为false,导致部分图片加载失败,所以需要我们手动的去设置该法,并传参为true。

解决办法:
很简单只要将上面的方法的参数设置为true就可以了

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。