搞很久,终于发现原来是这个问题,当网页里面定义了,在模拟器上测试可以取得缓存,但在真机上我们的webview就无法取得缓存了,每次前进后退都会重新联网。这样很不好,因为webview不支持wml,我想访问wml的网页后获取缓存的内容,将它转换为html,可是就是取不到缓存,听说可以通过读内存来获取当前加载的内容,但不知道怎么获取

问题的来历:我加载一个页面的时候,想要在绘屏展示之前取得要加载的内容,并对内容做一些特定的处理。然后再通过loadData来展示修改的内容。原来 使用缓存,也就是CacheManager.CacheResult取得数据,但是也会遇到没有缓存的情况,就是取不到缓存。这时候我就想使用方法直接取 得webview内存的加载的内容。可是不知道怎么去获取。

网友的解决方案是:

具体的做法是在onPageFinished()的时候,通过loadUrl()加载一段javascript,这段脚本的作用 就是通过DOM树取得Body体的内容,再把这些内容作为字符串传到java层的回调函数里面,这样在回调函数里面处理取得的内容,处理完毕,再 loadData展示出来。

这写得很不清楚,不知道什么意思,大家有什么方法解决?

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐