gpt4 book ai didi

有时不调用 iOS UIWebView webViewDidFinishLoad

转载 作者:行者123 更新时间:2023-11-28 22:34:20 27 4
gpt4 key购买 nike

一切正常,但有时 uiwebview 没有完成加载。我想有时 uiwebview 等待响应的时间比不完成加载要长。有人遇到过熟悉的问题吗?

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

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

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

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

它一直打印:

[378:c07] WV=UIWebView: 0x755f690; frame = (0 0; 320 416); autoresize = W+H; layer = CALayer: 0x755f6f0>> delegate=MainViewController: 0x755b130> isLoading=1;

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

最佳答案

您是否实现了didFailLoadWithError:?实现所有委托(delegate)方法,并记录各种方法,看看会发生什么 - 如果它只是停止或者在它似乎停止之前发生了什么。

编辑:因此使用每隔几秒触发一次的计划 NSTimer,并记录以下内容:

  • WebView 对象
  • 委托(delegate)
  • webView loading 属性

代码如下:

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

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

关于有时不调用 iOS UIWebView webViewDidFinishLoad,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16545915/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com