Domanda

E 'possibile avviare un evento quando un UIWebView (Iphone) ha finito di caricare l'URL.

Come posso scoprire, la corrente URL del UIWebView?

È stato utile?

Soluzione

Sì, è possibile. Utilizzare il protocollo UIWebViewDelegate e implementare il metodo seguito nella vostra delegato:

- (void)webViewDidFinishLoad:(UIWebView *)webView

Se si desidera che l'URL, è possibile ottenere l'ultima richiesta utilizzando il request immobile:

webView.request.URL

Altri suggerimenti

Nessuna delle soluzioni trovate lavorato per me.

Poi ho trovato questo esempio che almeno funziona molto meglio di qualsiasi altra soluzione che ho trovato su Google / StackOverflow.

UIWebView-load-completamento-tracker

metodo molto semplice:

Passaggio 1:. Imposta UIWebViewDelegate delegato nel file di intestazione

Passaggio 2: Aggiungi seguente metodo webViewDidFinishLoad per ottenere corrente URL del webview

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

    //-- Add further custom actions if needed 
}

La risposta di Pascal per il "ottenere l'URL" parte va bene.

Tuttavia!

Dalla documentazione del UIWebViewDelegate, da parte di Apple: "WebViewDidFinishLoad: inviato dopo una vista web finisce di caricare una cornice."

Telaio! = Pagina.

webViewDidFinishLoad viene chiamato quando la pagina viene "fatto carico". Può anche essere chiamato molte volte prima di allora. caricamento della pagina di Amazon.com in grado di generare una dozzina di chiamate verso webViewDidFinishLoad.

Se controlli il sorgente della pagina, allora si può fare un test di carico per esso, e funzionerà, per quel caso. Se vi interessa soltanto ottenere chiamato "dopo che la pagina è fatto carico", quindi webViewDidFinishLoad è adeguata.

Per le pagine arbitrarie, con arbitrario JavaScript, loading banner pubblicitari in perpetuo, o lo scorrimento automatico banner, o di applicazione di un videogioco, l'idea stessa di una pagina di essere "fatto carico" viene wrongheaded.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top