У меня есть UIWebView, и на одной странице есть компонент AJAX, содержимое которого изменяется, когда пользователь нажимает кнопку.Как я могу узнать, когда контент загружен внутри UIWebView?
UIWebView
Вам нужно будет сделать две вещи:
В вашем коде JavaScript укажите XMLHTTPRequest, что запрос AJAX завершен с пользовательским URL:
XMLHTTPRequest
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" } } };
В вашем собственном коде вам нужно реализовать делегат 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; }
Нет гарантий, что этот код анализирует / компилирует, но должен дать вам идею, как это сделать.