如何在不加载空页的情况下清理UIWebView的内容?

时间:2012-06-06 06:43:25

标签: iphone ios uiwebview

我需要清理UIWebView的内容(为了重用它),但我在其委托方法中有一些身份验证处理代码,所以我不想加载像about:blank这样的空白页来清理它,如它将触发我的身份验证处理代码。有没有办法做到这一点? (另外,通过重用它,我需要在Web视图的顶部放置一个微调器,当它加载另一个页面时,我不希望用户看到以前加载的页面内容,所以这就是我需要清理它的原因)

谢谢!

4 个答案:

答案 0 :(得分:66)

您可以使用以下代码:

[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]];

Here你会找到整个演示

答案 1 :(得分:25)

这对我有用:

 [webView stringByEvaluatingJavaScriptFromString:@"document.open();document.close()"];

答案 2 :(得分:7)

试一试。这对我有用

[self.webView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML = \"\";"];

答案 3 :(得分:0)

如果您唯一的问题是加载空白页时微调器消失,您可以在webViewDidFinishLoad中使用此代码:

– (void)webViewDidFinishLoad:(UIWebView *)currentWebView {
    if (![currentWebView.request.URL.description isEqualToString: @"about:blank"]) {
        self.mySpinner.hidden = YES;
    }
}

...然后,微调器将继续,直到您的webview实际完成加载。