I need to clean the content of UIWebView(in order to reuse it), but I have some authentication handling code in its delegate methods, so I do not want to load an empty page like about:blank to clean it, as it will trigger my authentication handling code. So is there a way for doing this?
(also, by reusing it, I need to put a spinner on top of the web view, and when it loads another page, I don't want the user see the previous loaded page content, so that's why I need to clean it)
Thanks!
You can just use this line of code :
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]];
Here you will find whole demo
this did the trick for me:
[webView stringByEvaluatingJavaScriptFromString:@"document.open();document.close()"];
Try this out. This worked for me
[self.webView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML = \"\";"];
If your only problem is that the spinner disappears when you load a blank page, you can use this code in webViewDidFinishLoad:
– (void)webViewDidFinishLoad:(UIWebView *)currentWebView {
if (![currentWebView.request.URL.description isEqualToString: @"about:blank"]) {
self.mySpinner.hidden = YES;
}
}
...then the spinner will go on until your webview is actually done loading.