20

UIWebViewのコンテンツを(再利用するために)クリーンアップする必要がありますが、デリゲートメソッドに認証処理コードが含まれているため、about:blankのような空のページをロードしてクリーンアップする必要はありません。私の認証処理コード。それで、これを行う方法はありますか?(また、再利用することで、Webビューの上にスピナーを配置する必要があります。また、別のページをロードするときに、ユーザーに以前にロードされたページのコンテンツを表示させたくないので、クリーンアップする必要があります)

ありがとう!

4

4 に答える 4

69

次のコード行を使用できます。

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

ここにデモ全体があります

于 2012-06-06T06:58:17.507 に答える
25

これは私のためのトリックをしました:

 [webView stringByEvaluatingJavaScriptFromString:@"document.open();document.close()"];
于 2012-06-19T16:59:58.727 に答える
8

これを試してみてください。これは私のために働いた

[self.webView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML = \"\";"];
于 2013-03-26T19:04:32.487 に答える
0

唯一の問題が、空白のページをロードしたときにスピナーが消えることである場合は、webViewDidFinishLoadで次のコードを使用できます。

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

...その後、Webビューの読み込みが実際に完了するまでスピナーが続行します。

于 2014-07-13T10:59:46.860 に答える