我正在开发一个使用 UIWebView 的应用程序。我正在实现UIWebView 中的手动负载计数方法 - 如何识别“最后一个”webViewDidFinishLoad 消息?
我可以看到原则上对 start/finish/failLoad 的调用是平衡的。但是,对于一些网页(尤其是 google.com),页面最初加载良好,几秒钟后会自动(似乎)刷新自身。开始/结束顺序如下所示:
-[MyWebView webViewDidStartLoad:], 1, 0x895150c
-[MyWebView webView:didFailLoadWithError:], 0, 0x895150c
-[MyWebView webViewDidStartLoad:], 1, 0x895150c
-[MyWebView webViewDidStartLoad:], 2, 0x895150c
-[MyWebView webViewDidFinishLoad:], 1, 0x895150c
-[MyWebView webViewDidFinishLoad:], 0, 0x895150c
-[MyWebView webViewDidStartLoad:], 1, 0x895150c <-- after a few seconds' gap
-[MyWebView webViewDidFinishLoad:], 0, 0x895150c
第一个参数是被调用的函数,第二个是计数器的值,最后一个值是 loadCounter 的地址,只是为了确认它是同一个 webView 实例(因此也是计数器)被调用。我的线索不多了:(...
有没有人有任何线索,这里可能发生了什么?(顺便说一句,许多其他网站不会发生这种情况,到目前为止只有谷歌)
编辑:为什么对我很重要,因为当它刷新(显然是随机的)时,它会关闭键盘。如果用户已经在输入内容,这很烦人。是否可以在后台继续对站点进行任何进一步的刷新,同时在前面继续用户交互(尤其是键盘)?
TIA,尼基尔