两种解决方案:
1.http://stackoverflow.com/questions/908367/uiwebview-how-to-identify-the-last-webviewdidfinishload-message
estimatedProgress:可以根据该参数获得当前网页的加载进度
【ios开发|判断webview是否彻底加载完成】 要注意的是我们用的webview 是UIKit的 UIWebView,但 estimatedProgress是WebKit的 WebView参数,用起来可能大有不同,具体怎么用看这里:http://winxblog.com/2009/02/iphone-uiwebview-estimated-progress/;
但是这个东西是苹果的私有api,如果用了就会被苹果拒掉.
2.http://stackoverflow.com/questions/1842370/uiwebview-didfinishloading-fires-multiple-times
使用webview的loading属性进行判断;
- (void)webViewDidFinishLoad:(UIWebView *)webView {
NSLog(@"didFinish: %@;
stillLoading:%@", [[webView request]URL],
(webView.loading?@"NO":@"YES"));
}- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {
NSLog(@"didFail: %@;
stillLoading:%@", [[webView request]URL],
(webView.loading?@"NO":@"YES"));
}
当一个网页加载的时候,完成一个file就调用 webViewDidFinishLoad,但是如果还有其他加载项, webView. loading就是YES,否则就是NO; 我得测试连接
[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.2cto.com/kf/201110/108433.html"]]];
总共调用webViewDidFinishLoad 16次,前15次loading=YES;
推荐阅读
- flutter packages get - pub get failed (1)解决方案
- LinkMap|LinkMap分析
- iOS开发|iOS白名单和系统权限的配置
- iOS|UITableViewCell嵌套UIWebView
- iOS开发|git 创建分支命令行
- UIWebView
- 实现导航栏动态变化交互效果的套路
- 真机上调试的错误