Подтвердить что ты не робот

Как очистить содержимое UIWebView без загрузки пустой страницы?

Мне нужно очистить содержимое UIWebView (для его повторного использования), но у меня есть некоторый код обработки аутентификации в его методах делегирования, поэтому я не хочу загружать пустую страницу, например: blank для ее очистки, поскольку это вызовет мой код обработки подлинности. Так есть ли способ сделать это? (также, повторно используя его, мне нужно поместить счетчик поверх веб-представления, а когда он загружает другую страницу, я не хочу, чтобы пользователь видел предыдущий загруженный контент страницы, поэтому мне нужно его очистить)

Спасибо!

4b9b3361

Ответ 1

Вы можете просто использовать эту строку кода:

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

Надеюсь, это то, что вы хотите.

Ответ 2

это сделало трюк для меня:

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

Ответ 3

Попробуйте это. Это сработало для меня

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

Ответ 4

Если ваша единственная проблема в том, что spinner исчезает при загрузке пустой страницы, вы можете использовать этот код в webViewDidFinishLoad:

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

... тогда счетчик будет продолжать, пока ваш веб-просмотр не будет фактически загружен.