2011-06-01 82 views
1

下面的技巧用于获取网页的HTML内容的JavaScript已经呈现的作品后非常好,放置在WebViewPictureListeneronNewPicture()时:页面重载(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)次,直到......在页面奇迹般地再次完全呈现! (然后再次发生多次故障,依此类推)

这可能意味着计时问题?

有关如何调试或排除故障的任何建议?

+0

你正在开发什么版本的android以及什么设备?这里至少有十个类似的问题没有答案,这是Android中的一个真正的bug,有点可怜,甚至是一个bug!让我们来看看它的底部,可以在这里提交错误报告http://groups.google.com/group/android-developers – CQM 2011-08-04 22:30:05

回答

1

你必须在页面加载后注入javascript!让我永远把它弄清楚

+1

请详细说明 – Vaiden 2013-02-01 15:23:58

+0

http://stackoverflow.com/a/7197748/3514144 @Vaiden – 2016-01-23 11:19:35

相关问题