UIWebView isLoading返回YES,没有未完成的负载

时间:2015-04-08 22:51:57

标签: ios uiwebview

我有一个加载本地HTML文件的应用。 HTML文件在iFrame中加载Google Map。该应用程序有一个后退按钮,用于检查UIWebView.canGoBack和UIWebView.isLoading

在webViewDidStartLoad和webViewDidFinishLoad中,我按照建议here跟踪未完成的加载,这样一旦我达到零未完成的加载,我就可以更新后退按钮的状态等。

在第一次加载控件时,一旦发生所有webViewDidFinishLoads,canGoBack和isLoading都将返回NO。

在控件的第二次加载时,一旦所有webViewDidFinishLoads发生,isLoading“挂起”总是返回YES,并且(我假设结果),即使它位于堆栈的顶部,canGoBack也将返回YES。

附加Safari的调试器当isLoading返回YES时,我可以确认没有未完成的HTTP请求。

I note that others过去曾在iOS和Safari中看到过canGoBack行为的错误。

问题:

  1. 什么是UIWebView.isLoading,以确定是否已完成Web请求?
  2. UIWebView.canGoBack的值是否与isLoading标志有关?
  3. 任何人都可以建议一下来评估canGoBack吗?

1 个答案:

答案 0 :(得分:2)

我也遇到了这个问题。我有一个html页面,其中包含一个由javascript代码插入的iframe。 src属性为空。我发现当iframe附加到dom树时,UIWebView触发shouldStartLoadWithRequest:使用 about:blank URL。删除javascript代码后,一切正常。