【问题标题】:Exclude external javascript content from UIWebView delegate methods从 UIWebView 委托方法中排除外部 javascript 内容
【发布时间】:2012-03-01 18:34:58
【问题描述】:

我有一个带有委托方法的 UIWebview

webViewDidStartLoad webViewDidFinishLoad

但是,在页面上,我正在加载一个 facebook 聊天组件,该组件由于某种原因无法正确加载(缓存问题?fb 问题?)它一遍又一遍地访问服务器,导致我的两个委托方法被调用一遍又一遍(它们唯一的用途是显示和隐藏活动指示器,因此我留下了一个闪烁的活动指示器)

当页面已加载但仍在“尝试”加载我无法控制的外部内容时,是否仍要停止调用这些方法?

  - (void)webViewDidStartLoad:(UIWebView *)webView {

    NSLog(@" I am in Webview did start");    

    if ( webView == self.myFlickView )
    {
       [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;

    }     


}

- (void)webViewDidFinishLoad:(UIWebView *)webView {

    NSLog(@" I am in Webview did end");    

    if ( webView == self.myFlickView )
    {
       [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;

    }     


}

【问题讨论】:

    标签: uiwebview uiwebviewdelegate


    【解决方案1】:

    尝试在 webViewDidFinishLoad 处将委托设置为 nil。由于加载的网站中的 AJAX 调用,可能会多次调用委托。所以,请使用[webView setDelegate:nil]

    希望对你有帮助。

    【讨论】:

    • 谢谢。但是当他们点击一个链接转到另一个页面时会发生什么,不再有活动指示器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多