0

一切正常,但有时 uiwebview 没有完成加载。我猜有时 uiwebview 会等待很长时间才能响应,而不是完成加载。有人有熟悉的问题吗?

是的,我已经实现了以下方法:

- (void)webViewDidStartLoad:(UIWebView *)webView 
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
- (void)webViewDidFinishLoad:(UIWebView *)webView

是的,我设置了代表。正如我所说 - 一切正常,但有时它没有完成加载,它没有收到任何错误。

- (void)myTimer:(NSTimer *)timer
{
  NSLog(@"WV=%@ delegate=%@ isLoading=%d", self.webView, self.webView.delegate,      self.webView.isLoading);
}

它一直打印:

[378:c07] WV=UIWebView: 0x755f690; 帧 = (0 0; 320 416); 自动调整大小 = W+H;层=CALayer:0x755f6f0>>委托=MainViewController:0x755b130> isLoading=1;

我还尝试设置缓存策略并将其禁用。它没有帮助。可能是html框架的问题吗?加载网页中的某些元素时会消失(加载网页时会发生这种情况,但通常在元素消失后会显示一个新页面,但在这种情况下不是)。

4

1 回答 1

2

你实施了didFailLoadWithError:吗?实现所有的委托方法,并记录各种方法,看看会发生什么——如果它只是停止或者在它看起来停止之前发生了什么。

编辑:所以使用每隔几秒触发一次的调度 NSTimer,并记录以下内容:

  • 网络视图对象
  • 代表
  • webViewloading属性

这是代码:

- (void)myTimer:(NSTimer *)timer
{
  NSLog(@"WV=%@ delegate=%@ isLoading=%d", self.webView, self.webView.delegate, self.webView.isLoading);
}

让它运行至少 10 分钟(出去喝咖啡),然后在这里报告。如果它打印出所有信息很长一段时间(如 10 分钟),那么如果您可以在此处发布 URL,这将是一个很大的帮助,因此其他人可以尝试复制该问题。

于 2013-05-14T14:33:09.773 回答