【问题标题】:Sending loadRequest messages to UIWebView before current view is finished loading causes error在当前视图完成加载之前向 UIWebView 发送 loadRequest 消息会导致错误
【发布时间】:2011-03-14 08:38:31
【问题描述】:
我有一个 webview 作为基于 tableView 导航的应用程序的详细视图。导航栏上有“向上”和“向下”箭头,用户可以使用它们来翻阅不同的详细视图。
只要用户只单击“向上”或“向下”箭头一次,一切正常。但是,如果多次单击箭头并将 loadRequest 消息发送两次到 UIWebView,我会从 didFailLoadWithError 方法中收到错误消息“NSURLErrorDomain error -999”。
看起来如果在页面当前正在加载视图时发送了 loadRequest,则会发送错误。只要页面加载完毕,一切正常。
我尝试了多种解决方案,结果都一样。
感谢您的帮助!
【问题讨论】:
标签:
iphone
objective-c
uiwebview
【解决方案1】:
我今天遇到了同样的问题 - 也试试这个方法:
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {
NSLog(@"didFail: %@ stillLoading:%@ error code:%i", [[webView request]URL], (webView.loading?@"NO":@"YES"), [error code]);
if ([error code] != -999) {
// Handle your other errors here
}
}
Reference
【解决方案2】:
我通过调用解决了这个问题:
[self.myWebView stopLoading];
myWebView.delegate = nil;
在重新加载新 URL 之前。
在我发送新的 loadRequest 之前,我会调用:
myWebView.delegate = self;