Исключить внешнее содержимое javascript из методов делегата UIWebView - PullRequest
0 голосов
/ 01 марта 2012

У меня есть 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;

    }     


}

1 Ответ

0 голосов
/ 01 марта 2012

Попробуйте установить делегата на ноль в webViewDidFinishLoad.Возможно, делегат вызывается несколько раз из-за загруженных вызовов AJAX на веб-сайте.Итак, используйте [webView setDelegate:nil].

Надеюсь, это поможет.

...