Ответ 1
Вы можете просто использовать эту строку кода:
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]];
Надеюсь, это то, что вы хотите.
Мне нужно очистить содержимое UIWebView (для его повторного использования), но у меня есть некоторый код обработки аутентификации в его методах делегирования, поэтому я не хочу загружать пустую страницу, например: blank для ее очистки, поскольку это вызовет мой код обработки подлинности. Так есть ли способ сделать это? (также, повторно используя его, мне нужно поместить счетчик поверх веб-представления, а когда он загружает другую страницу, я не хочу, чтобы пользователь видел предыдущий загруженный контент страницы, поэтому мне нужно его очистить)
Спасибо!
Вы можете просто использовать эту строку кода:
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]];
Надеюсь, это то, что вы хотите.
это сделало трюк для меня:
[webView stringByEvaluatingJavaScriptFromString:@"document.open();document.close()"];
Попробуйте это. Это сработало для меня
[self.webView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML = \"\";"];
Если ваша единственная проблема в том, что spinner исчезает при загрузке пустой страницы, вы можете использовать этот код в webViewDidFinishLoad:
– (void)webViewDidFinishLoad:(UIWebView *)currentWebView {
if (![currentWebView.request.URL.description isEqualToString: @"about:blank"]) {
self.mySpinner.hidden = YES;
}
}
... тогда счетчик будет продолжать, пока ваш веб-просмотр не будет фактически загружен.