2009-11-02 7 views

Respuesta

74

Sí, eso es posible. Utilizar el protocolo UIWebViewDelegate y aplicar el siguiente método en su delegado:

- (void)webViewDidFinishLoad:(UIWebView *)webView 

Si desea que la URL, puede obtener la última solicitud utilizando la propiedad request:

webView.request.URL 
+0

Gracias :) Funcionó :) – ishhhh

+0

Perdón por reactivar un tema inactivo pero ¿el (UIWebview *) webView, es el webVer el nombre de la salida de su nombre de la página web? –

+1

@CameronTarbell Este es un método delegado, pasará en la vista web que terminó de cargarse con la variable 'webView', independientemente del nombre de su tienda. – Pascal

1

método muy simple:

Paso 1: Establezca el delegado UIWebViewDelegate en el archivo de encabezado.

Paso 2: Agregar siguiente webViewDidFinishLoad método para obtener la URL actual de webview

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

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

Ninguna de las soluciones encontradas trabajó para mí.

Luego encontré este ejemplo que al menos funciona mucho mejor que cualquier otra solución que encontré en Google/StackOverflow.

uiwebview-load-completion-tracker

1

respuesta de Pascal para el papel "conseguir la URL" está muy bien.

¡Sin embargo!

De la documentación de UIWebViewDelegate, de Apple: "webViewDidFinishLoad: Enviado después de que una vista web termine de cargar un marco".

Frame! = Página.

webViewDidFinishLoad se invoca cuando la página se "carga por completo". También se puede llamar muchas veces antes de eso. Las cargas de página de Amazon.com pueden generar una docena de llamadas a webViewDidFinishLoad.

Si controla el origen de la página, puede hacer una prueba de carga para ello, y funcionará, para ese caso. Si solo le preocupa que lo llamen "después de que la página se haya cargado", entonces webViewDidFinishLoad es adecuado.

Para páginas arbitrarias, con JavaScript arbitrario, carga de banners publicitarios a perpetuidad, o banners de autoscroll, o implementando un videojuego, la mera idea de que una página se "cargue por completo" es errónea.

Cuestiones relacionadas