我想使用javascript来检查UIWebView中是否存在类。这就是我到目前为止所做的:
NSString* checkForWaldoCmd = [[NSString alloc] initWithString:@"document.getElementsByClassName('waldo');"];
NSString* wheresWaldo = [myUIWebView stringByEvaluatingJavaScriptFromString:checkForWaldoCmd];
我基本上想要检查页面中是否存在“waldo”类。当我运行上面的代码时,无论类是否存在,我都会得到一个空白字符串。有什么建议吗?
答案 0 :(得分:5)
使用stringByEvaluatingJavaScriptFromString的主要技巧是:计算求值类型的表达式可以很容易地转换为字符串(本机简单类型通常可以工作:float,int和string)。在你的例子中,@“document.getElementsByClassName('waldo');”将是没有简单字符串表示的NodeList类型,这就是为什么你得到一个空字符串。例如,尝试使用类waldo获取元素列表的长度:
NSString *count = [myUIWebView stringByEvaluatingJavaScriptFromString:@"document.getElementsByClassName('waldo').length;"];
if ([count intValue] > 0){
NSLog(@"Have elements of class waldo");
}else{
NSLog(@"Don't have elements of class waldo");
}