首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >UIWebView didFinishLoading多次触发

UIWebView didFinishLoading多次触发
EN

Stack Overflow用户
提问于 2009-12-04 03:38:56
回答 9查看 38.5K关注 0票数 53

我有一些代码需要在UIWebView加载完文档后运行。为此,我将UIWebView的委托设置为我的控制器,并实现了webViewDidFinishLoading方法。

它会被多次调用,这取决于要加载的页面类型。我不确定是不是因为ajax请求,图像请求,甚至是iframe。

有没有一种方法可以告诉我们主请求已经完成,这意味着HTML已经完全加载?

或者延迟我的代码触发,直到所有这些事件都触发完成?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2009-12-06 20:26:00

(如果您还没有走到这一步) NSLog加载开始和结束的跟踪可能是有启发性的。

代码语言:javascript
运行
复制
    - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
       NSLog(@"Loading: %@", [request URL]);
       return YES;
    }


    - (void)webViewDidFinishLoad:(UIWebView *)webView {
       NSLog(@"didFinish: %@; stillLoading: %@", [[webView request]URL],
            (webView.loading?@"YES":@"NO"));
    }


    - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {
       NSLog(@"didFail: %@; stillLoading: %@", [[webView request]URL],
            (webView.loading?@"YES":@"NO"));
    }

我只是在我的一个项目中查看了对这三个项目的调用,该项目从我的包中加载了一个帮助页面,并包含嵌入式资源(外部css、YUI!、图像)。唯一通过的请求是初始页面加载,任何依赖项都不会调用shouldStartLoadWithRequest。所以很奇怪为什么你的didFinishLoad会被多次调用。

也许您所看到的是由于重定向,或者正如前面提到的,是由于加载的页面中的ajax调用。但您至少应该能够平衡对shouldStartLoad和其他两个委托函数的调用,并能够确定加载何时完成。

票数 49
EN

Stack Overflow用户

发布于 2009-12-04 21:24:05

您可以执行以下操作来检查加载何时完成。因为您可以在同一个页面上包含许多内容,所以您需要它。

代码语言:javascript
运行
复制
- (void)webViewDidFinishLoad:(UIWebView *)webview  {
    if (webview.isLoading)
        return;
    // do some work
}
票数 52
EN

Stack Overflow用户

发布于 2014-04-23 17:52:08

检查这一点,它的实现方式很简单,不需要写太多代码:

代码语言:javascript
运行
复制
- (void)webViewDidFinishLoad:(UIWebView *)webView {
        if ([[webView stringByEvaluatingJavaScriptFromString:@"document.readyState"] isEqualToString:@"complete"]) {
            // UIWebView object has fully loaded.
        }
    }
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1842370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档