Я поймаю javascript
звонки с UIWebViewDelegate
.Ловкие асинхронные вызовы JavaScript с Objective-c
Это выглядит следующим образом:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
NSDictionary *dictionary = [[[JSBridgeController alloc] init] js:request];
if (dictionary) {
if ([dictionary[@"methodName"] isEqualToString:@"gimmeUser"]) {
[self.delegate gimmeUserJS: dictionary];
}
if ([ dictionary[@"methodName"] isEqualToString:@"initMe"]) {
[self.delegate initMeJS: dictionary];
}
}
return YES;}
Проблема находится на веб стороне для меня. Он имеет десятки таких JS
запросов, как в приведенном выше коде, и отправлять их асинхронно. Поэтому, если я получаю два запроса одновременно, делегат webview может видеть только один из них и игнорировать другой.
Я попытался использовать NSOperationQueue
и NSURLConnection sendAsynchronousRequest
, но безуспешно.
Как я могу вызвать shouldStartLoadWithRequest
делегат для каждого асинхронного запроса JS
?
Спасибо за любую помощь ..