下面的技巧用於獲取網頁的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