在做一个App的过程中,用到WebView来显示几个页面。在这个过程中发现有些页面的显示出现了异常:页面中的Img链接在页面第一次加载时无法正常显示图片,退出页面再次进入后可正常显示。开始以为是WebSettings的问题,各种设置,无解。
无意中发现那几个页面中有一个页面始终加载图片是OK的,没有一个失败过。对比这个页面和其它页面的源码区别,发现失败的页面的Img标签是用<Table>标签控制的;加载OK的页面,其Img标签置于<Div>中。百度<Table>和<Div>,发现其加载方式有异:<div>是即读即加载,即使没有遇到</div>也会加载<div>中的内容,读多少加载多杀;<table>在遇到</table>之前是不加载<table>之中的内容的。这是因为<table>涉及到多行多列的问题。
解决办法:把网页源码中的<table>标签用<div>替代后问题就解决了。