Question

Est-il possible de commencer un événement quand un UIWebView (Iphone) a fini de charger l'URL.

Comment puis-je savoir, l'URL actuelle du UIWebView?

Était-ce utile?

La solution

Oui, cela est possible. Utilisez le protocole UIWebViewDelegate et mettre en œuvre la méthode suivante dans votre délégué:

- (void)webViewDidFinishLoad:(UIWebView *)webView

Si vous voulez que l'URL, vous pouvez obtenir la dernière demande à l'aide du request de propriété:

webView.request.URL

Autres conseils

Aucune des solutions trouvées a fonctionné pour moi.

Je trouve cet exemple qui au moins fonctionne beaucoup mieux que toute autre solution que je trouve sur Google / StackOverflow.

UIWebView charge d'achèvement suiveur

Très simple méthode:

Étape 1:. Définir UIWebViewDelegate délégué dans le fichier d'en-tête

Étape 2: Ajouter une méthode de webViewDidFinishLoad suivante pour obtenir l'URL actuelle de webview

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

    //-- Add further custom actions if needed 
}

La réponse de Pascal pour la partie « obtenir l'URL » est très bien.

Cependant!

De la documentation UIWebViewDelegate, d'Apple: « WebViewDidFinishLoad: Envoyé après une vue web fin du chargement d'un cadre. »

Cadre! = Page.

webViewDidFinishLoad est appelée lorsque la page est « chargement effectué ». Il peut également être appelé plusieurs fois avant. charges Page de Amazon.com peuvent générer une douzaine d'appels à webViewDidFinishLoad.

Si vous contrôlez la source de la page, alors vous pouvez faire un test de charge pour elle, et cela fonctionnera, pour ce cas. Si vous ne vous préoccupez obtenir appelé « après la page chargement effectué », puis webViewDidFinishLoad est suffisante.

Pour les pages arbitraires, avec JavaScript arbitraire, le chargement des bannières publicitaires à perpétuité, ou bannières défilement automatique, ou la mise en œuvre d'un jeu vidéo, l'idée même d'une page étant « chargement effectué » est obtuse.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top