2012-06-04 31 views
0

我使用UIWebView來獲取並顯示一個html頁面。我想在html完成加載時做一些事情,並在ViewController中顯示,同時圖像正在加載。 我使用當在UIWebView中加載的HTML?

(void)webViewDidFinishLoad:(UIWebView *)webView 

接收回電。但是它應該在所有元素完成加載後採取行動,並且可能需要一分鐘。它太慢了。

回答

1

如果你想知道dom何時加載,你必須使用javascript來列出dom加載的事件,然後在發生時調用你的Objective-c代碼。

如果是你的網頁正在加載,那麼你可以在源代碼中添加必要的javascript,如果它的其他人的網頁,那麼你將需要使用stringByEvaluatingJavaScriptFromString注入JavaScript的頁面。

從JavaScript調用的Objective-C在DOM加載事件已觸發看到這裏

http://blog.techno-barje.fr/post/2010/10/06/UIWebView-secrets-part3-How-to-properly-call-ObjectiveC-from-Javascript/

0

我會建議使用JavaScript來知道圖像何時加載。你可以撥打

stringByEvaluatingJavaScriptFromString: 

在webview中執行一些javascript代碼。

+0

我想知道當HTML負載,而不是圖像 – Alick

+0

我誤解你的問題。你說一些關於圖像加載的東西。 webViewDidFinishLoad有什麼問題:?它需要很長時間? – LocoMike