我有一个加载本地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行为的错误。
问题:
答案 0 :(得分:2)
我也遇到了这个问题。我有一个html页面,其中包含一个由javascript代码插入的iframe。 src属性为空。我发现当iframe附加到dom树时,UIWebView触发shouldStartLoadWithRequest:使用 about:blank URL。删除javascript代码后,一切正常。