UIWebView stringByEvaluatingJavaScriptFromstring

Je suis coincé sur l'obtention de certains assez basique JS pour exécuter dans mon UIWebView. Dans la vue web du délégué, j'ai :

- (void)webViewDidFinishLoad:(UIWebView *)wView {
    NSString *someHTML = [wView stringByEvaluatingJavaScriptFromString:@"document.getElementsByClassName('box')[0]"];   
    NSString *allHTML = [wView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML"];
    NSLog(@"someHTML: %@", someHTML);
    NSLog(@"allHTML: %@", allHTML);
}

mais lorsque la méthode est appelée, someHTML est nul alors allHTML contient l'ensemble du corps de l'HTML dans la webview.

J'ai exécuter le JS dans le Safari JS console et il fonctionne très bien (il trouve une div de classe "boîte" donc je sais que sa dans le code HTML)

Des suggestions?

Plus d'infos:

FWIW, résultat dans chacun des cas suivants est également nul

NSString *result = [self.webView stringByEvaluatingJavaScriptFromString: @"document"];
NSLog (@"1. result: %@", result); //should log the document object?

result = [self.webView stringByEvaluatingJavaScriptFromString: @"document.body"];
NSLog (@"2. result: %@", result); //should log the document body

result = [self.webView stringByEvaluatingJavaScriptFromString: @"document.body.getElementsByClassName"];
NSLog (@"3. result: %@", result); //should log a function

result = [self.webView stringByEvaluatingJavaScriptFromString: @"document.body.getElementsByClassName('box')[0]"];
NSLog (@"4. result: %@", result); //should log the node

OriginalL'auteur TomH | 2010-12-30