Зная, когда AJAX загрузился в UIWebView - PullRequest
0 голосов
/ 14 ноября 2010

У меня есть UIWebView, и на одной странице есть компонент AJAX, содержимое которого изменяется, когда пользователь нажимает кнопку.Как я могу узнать, когда контент загружен внутри UIWebView?

1 Ответ

3 голосов
/ 17 ноября 2010

Вам нужно будет сделать две вещи:

  1. В вашем коде JavaScript укажите XMLHTTPRequest, что запрос AJAX завершен с пользовательским URL:

    var req = new XMLHttpRequest();  
    req.open('GET', 'http://www.mozilla.org/', true);  
    req.onreadystatechange = function (aEvt) {  
      if (req.readyState == 4) {  
         if(req.status == 200) { 
           window.location = "myspecialurl:foo"
         }
      }  
    };  
    
  2. В вашем собственном коде вам нужно реализовать делегат UIWebView, который прослушивает этот пользовательский URL:

    - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 
    {
      if([[[request URL] absoluteString] isEqualToString:@"myspecialurl:foo"]) {
         // Your code for when the AJAX request completes.
         return NO;
      }
      return YES;
    }
    

Нет гарантий, что этот код анализирует / компилирует, но должен дать вам идею, как это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...