Ich bin auf der Suche nach einigen ziemlich grundlegenden JS in meinem UIWebView ausführen. In der Delegierten Web-Ansicht, die ich habe:UIWebView stringByEvaluatingJavaScriptFromString
- (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);
}
aber wenn die Methode aufgerufen wird, ist someHTML nil während allHTML den gesamten Körper des HTML in der Webansicht enthält.
Ich habe die JS in der Safari-JS-Konsole laufen und es funktioniert gut (es findet ein div der Klasse ‚Box‘, also weiß ich, dass seine im HTML)
Irgendwelche Vorschläge?
Weitere Informationen:
FWIW, die in jedem der folgenden Folge ist auch nil
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
können Sie dies auch http://stackoverflow.com/questions/10793698/how-to-make-image-maps-clickable-using-uiwebview-in-iphone überprüfen –