下面的技巧用于获取网页的HTML内容的JavaScript已经呈现的作品后非常好,放置在WebView
的PictureListener
的onNewPicture()
时:页面重载(Webview.loadUrl)结果在Javascript不是(完全)加工
browser.loadUrl("javascript:window.HTMLOUT.showHTML('<head>'+document.getElementsByTagName('html')[0].innerHTML+'</head>');");
但是,由于某些原因,它仅在页面首次加载时起作用。也就是说,应用程序的第一个这样的WebView.loadUrl()
调用获取页面的完全渲染版本。
此后,如果我重载/刷新页面(完全相同的URL),的HTMLOUT.showHTML()
输出出现的页面被渲染之前是原始HTML + JavaScript的。
奇怪的是,视觉,在WebView
本身,所有的内容是存在的! (虽然经过了很长时间......我可以看到WebView的沙漏纺纱,也许Javascript需要很长时间才能重新处理?)
这似乎表明一个初始化问题(在我的代码中),一个WebView中的错误,或者一些缓存原则,这些原则是有经验的网络程序员所熟知的,但我目前还不熟悉。
但随后它会变得更加有趣:以WebView.loadUrl()
结果的后续调用在上述故障多(3-10)次,直到......在页面奇迹般地再次完全呈现! (然后再次发生多次故障,依此类推)
这可能意味着计时问题?
有关如何调试或排除故障的任何建议?
你正在开发什么版本的android以及什么设备?这里至少有十个类似的问题没有答案,这是Android中的一个真正的bug,有点可怜,甚至是一个bug!让我们来看看它的底部,可以在这里提交错误报告http://groups.google.com/group/android-developers – CQM 2011-08-04 22:30:05