2009-11-02 20 views

Odpowiedz

74

Tak, to możliwe. Użyj protokołu UIWebViewDelegate i wdrożyć następujące metody w delegata:

- (void)webViewDidFinishLoad:(UIWebView *)webView 

Jeśli chcesz URL, można uzyskać ostatniego żądania za pomocą właściwości request:

webView.request.URL 
+0

Dzięki :) Zadziałało :) – ishhhh

+0

Przepraszam, że budzę martwy temat, ale czy webview (UIWebview *) to webView to nazwa ujścia twojej nazwy webviewu? –

+1

@CameronTarbell Jest to metoda delegata, która przejdzie w widoku sieciowym, który zakończył ładowanie za pomocą zmiennej 'webView', niezależnie od nazwy twojego gniazdka. – Pascal

1

bardzo prosty sposób:

Krok 1: Ustaw delegata UIWebViewDelegate w pliku nagłówkowym.

Krok 2: Dodaj następujący webViewDidFinishLoad sposób, aby uzyskać aktualne url webview

- (void)webViewDidFinishLoad:(UIWebView *)webView 
{ 
    NSLog(@"Current URL = %@",webView.request.URL); 

    //-- Add further custom actions if needed 
} 
2

Żaden ze znalezionych rozwiązań pracował dla mnie.

Następnie znalazłem ten przykład, który działa co najmniej lepiej niż jakiekolwiek inne rozwiązanie znalezione w Google/StackOverflow.

uiwebview-load-completion-tracker

1

odpowiedź Pascala dla "Uzyskiwanie URL" część jest w porządku.

Jednak!

Z dokumentacji UIWebViewDelegate, od Apple: "webViewDidFinishLoad: Wysyłane po zakończeniu wyświetlania strony internetowej w ramce internetowej."

Ramka! = Strona.

webViewDidFinishLoad jest wywoływana, gdy strona "ładuje się". Można go również nazwać wiele razy wcześniej. Ładowane strony z Amazon.com mogą generować kilkanaście wywołań do webViewDidFinishLoad.

Jeśli kontrolujesz źródło strony, możesz wykonać dla niego test obciążeniowy i będzie on działał w tym przypadku. Jeśli zależy Ci tylko na wywołaniu "po załadowaniu strony", to webViewDidFinishLoad jest wystarczający.

Dla dowolnych stron, z arbitralnym JavaScriptem, ładowaniem banerów reklamowych na wieczność, automatycznym przewijaniem banerów lub wdrażaniem gry wideo, sama idea "ładowania strony" jest błędna.

Powiązane problemy