2011-06-01 68 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

相關問題