Я использую UIWebView
в игре, чтобы отобразить форму поддержки клиентов. Я заметил, что у меня проблема с закрытием веб-браузера, если сервер возвращает ошибку 503 (код состояния HTTP, отправленный с балансировщика нагрузки)UIWebView получить код статуса http с загруженной страницы
Есть ли способ легко получить этот статус http? могу ли я сделать некоторую настройку, чтобы получить код didFailWithError
, когда код статуса http не 200?
загрузки кода
UIWebView *webView = [[UIWebView alloc] initWithFrame:self.view.frame];
NSURL *nsURL = [NSURL URLWithString:url];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:nsURL];
webView.opaque = YES;
webView.userInteractionEnabled = YES;
[webView loadRequest:request];
webView.delegate = self;
closableWebViewController = [[UIViewController alloc] init];
[closableWebViewController.view setFrame:self.view.frame];
[closableWebViewController.view addSubview:webView];
[self presentViewController:closableWebViewController animated:YES completion:nil];
этот метод делегата не называется
-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
NSLog(@"webview error %@",error);
if (closableWebViewController)
{
NSLog(@"closing webview");
[closableWebViewController dismissViewControllerAnimated:TRUE completion:^{
closableWebViewController = nil;
NSLog(@"webView closed");
}];
}
}
Да, я проверил эту страницу, но было бы неплохо в моей ситуации найти способ вызова делегата didFailWithError. Я могу попросить моего администратора sys изменить способ сброса балансировки нагрузки. возможно, если я удалю весь вывод html с страницы с ошибкой, он исправит проблему. –
Да, это решит проблему. Другой вариант - использовать NSUrlConnection и заполнять UIView вручную, когда он будет успешным. – Mika
Я, наконец, использовал еще один трюк (выборка содержимого html через javascript), но эта информация явно отсутствует в SDK ios. –