Soy muy nuevo en todo el negocio de la programación, y me preguntaba si hay alguna manera de borrar el contenido de un UIWebView
en la programación de iphone, para que el símbolo de carga de la siguiente vista no aparezca frente a la última vista. Muchas gracias, ThomasCómo borrar un UIWebView
Respuesta
Intente configurar la URL como about:blank
y vuelva a cargar la página.
sólo tiene que cargar una cadena HTML vacío en él
[self.webView loadHTMLString:@"" baseURL:nil];
sin necesidad de establecer un 'baseURL' ... [self.webView loadHTMLString: @ "" baseURL: nil]; –
@ChrisAllinson seguro Lo simplifiqué según su sugerencia – 2cupsOfTech
He encontrado que no funciona a menos que pase específicamente un baseURL –
extensión respuesta para fines de documentación para ayudar tal vez alguien más:
que tenían el mismo deseo (contenido claro antes de cargar la próxima url), pero tenía un delegado UIWebView configurado para recibir el mensaje webviewDidFinishLoad:(UIWebView)webview
y actualizar otra parte de la IU en respuesta.
Problema: la llamada para borrar el contenido de también llamado método delegado, así que conseguir falsos éxitos (es decir, conseguir llamada cuando claro se hace, también, pero delegado se codifica a esperar llamar sólo cuando el contenido real es cargado).
Solución: utilizar una URL conocida por clara, y tienen webviewDidFinishLoad:
ignorar llamadas realizadas cuando esa URL está acabado:
- (void) startLoadOfNextURL:(NSURL*)url
{
// clear:
[self.webView loadHTMLString:@"" baseURL:nil];
// Load real next URL
NSURLRequest* request = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:request];
}
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSLog(@"WebView finished loading: %@", webView);
if ([self.webView.request.URL.absoluteString isEqualToString:@"about:blank"]) {
NSLog(@" This is Blank. Ignoring as false event.");
}
else {
NSLog(@" This is a real url");
[self updateUIInSomeWay];
}
}
Nota: el uso de este:
[self.webView loadHTMLString:@"about:blank" baseURL:nil];
realidad hace que las palabras "acerca : en blanco "para aparecer como texto en el panel de contenido de la vista web!
complicación final: En la práctica, con mis dos [webview load...]
llamadas tan juntas, que estaba encontrando que en lugar de un evento "cargado" por la clara, la vista web en realidad estaba cancelando a favor de la segunda petición y llamando webView: didFailLoadWithError:
de la primera solicitud de carga. Por lo tanto, tuve que poner un código similar en este caso:
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
NSLog(@"WebView error on: %@", webView);
NSLog(@"Error is: %@", error);
NSURL* failingURL = [error.userInfo objectForKey:@"NSErrorFailingURLKey"];
if ([failingURL.absoluteString isEqualToString:@"about:blank"]) {
NSLog(@" This is Blank. Ignoring.");
}
else {
NSLog(@" This is a real URL.");
[self doSomethingAboutError];
}
}
Swift, Xcode 7 beta 5
webView.loadRequest(NSURLRequest(URL: NSURL(string: "about:blank")!))
Gracias, estaba buscando esto –
Swift 4.0, XCODE 9
webView.loadRequest(URLRequest.init(url: URL.init(string: "about:blank")!))
- 1. Borrar las credenciales de UIWebView
- 2. ¿Cómo borrar el caché de loadHtmlString de mi UIWebView?
- 3. ¿Cómo borrar la lista anterior en UIWebview en iPhone?
- 4. ¿Cómo borrar un diccionario?
- 5. Cómo eliminar la memoria caché de UIWebview o dealloc UIWebview
- 6. Cómo borrar un filtro - AngularJS
- 7. Cómo insertar HTML en un UIWebView
- 8. Cómo agregar controles debajo de un UIWebView
- 9. ¿Cómo descartar el teclado en un UIWebView?
- 10. Cómo detectar la redirección en un UIWebView
- 11. establecer un delegado para UIWebView
- 12. Envíe un formulario en UIWebView
- 13. ¿Cómo borrar rápidamente un objeto de JavaScript?
- 14. Cómo borrar un hash de Perl
- 15. ¿Cómo borrar el contenido de un IFRAME?
- 16. Cargando NSData en un UIWebView
- 17. ¿UIGestureRecognizer funciona en un UIWebView?
- 18. Renderizar un UIWebView en un ImageContext
- 19. El fondo UIWebView está configurado en Borrar color, pero no es transparente
- 20. ¿Cómo borrar una cadena?
- 21. ¿Cómo borrar Viewstate?
- 22. Cómo borrar una matriz
- 23. Borrar el contenido de UIWebView al cerrar la vista modal (iPhone OS 3.0)
- 24. ¿Cómo borrar MemoryCache?
- 25. cómo borrar el montón?
- 26. ¿Cómo borrar ImageView correctamente?
- 27. Cómo borrar: ambos; ¿correctamente?
- 28. cómo borrar JTable
- 29. Cómo borrar ostringstream
- 30. Paginación UIWebView
Gracias compañero, yo votaría u pero yo no tengo suficiente rango –
¡De nada! –
¿Conoces una alternativa que no da como resultado el método de delegado 'webViewDidFinishLoad'? (nil'ing delegate no funciona: clear es seguido inmediatamente por otra carga de contenido real, por lo tanto, tenga listo delegate en caso de que responda rápidamente ... por lo que tendría que desactivar delegate hasta después de la primera carga, luego enciéndalo antes segunda carga, pero todo es asíncrono, así que no puedo bloquear hasta que termine la primera carga). –