我想知道如何確定何時WebView是完全完成加載。如何確定Android WebView何時完成加載?
讓我定義完全。
- 所有重定向發生
- 可見地顯示頁面,沒有任何尚未加載
不好這個問題的答案:
WebViewClient.onPageFinished()
- 如果有重定向這個觸發多次加載一個頁面。它也會在頁面顯示之前觸發。
PictureListener.onNewPicture()
- 每次屏幕更改和AFAICT每次重定向時都會觸發。我怎麼知道哪一次射擊是最後一次?
WebChromeClient.onProgressChanged()
- 與onPageFinished相同的問題。 (在David在下面提出這個解決方案後添加)
Thread.sleep(5000)
- 應該是顯而易見的,爲什麼這是不可接受的。
當然,上述工作的巧妙組合將是完美的。
爲什麼我想知道這個問題? 因爲我想注入一些JavaScript 一次一旦Webview是完全完成加載。
添加到您的WebViewClient.onPageFinished()錯誤答案:根據[this](http://stackoverflow.com/a/5172952/725417),它會多次觸發**也**如果你在頁面中有幾個iframe。 – uTubeFan 2011-12-14 00:50:34
@Carlos Man和你在同一個位置。唯一讓我更糟糕的是PictureListener已被棄用。你能想出一個解決方案嗎?我必須計算webview中的頁面總數,我需要將內容寬度與屏幕寬度分開。但是我不能這樣做,直到頁面完全呈現在屏幕上。任何解決方案 – 2014-09-23 20:15:15
@ArunavhKrishnan上次我看着這是3年前。最後,我想我做了一些類似於接受的答案。祝你好運! – 2014-09-24 22:26:12