Objective c Webkit javascript评估使用不同的文档对象?
我正在objective-C应用程序中托管一个webkit框架,并尝试使用stringByEvaluatingJavaScriptFromString在加载的文档上执行一些javascript。我对document.getElementsByTagName'*'或document.getElementsByTagName'a'的每次调用都返回0个长度集合,而不管我在webview中加载的页面是什么。其他文档方法似乎可以使用document.title、document.location.href等。脚本在Safari中返回正确的值,而不是在my webview中Objective c Webkit javascript评估使用不同的文档对象?,objective-c,webkit,document,Objective C,Webkit,Document,我正在objective-C应用程序中托管一个webkit框架,并尝试使用stringByEvaluatingJavaScriptFromString在加载的文档上执行一些javascript。我对document.getElementsByTagName'*'或document.getElementsByTagName'a'的每次调用都返回0个长度集合,而不管我在webview中加载的页面是什么。其他文档方法似乎可以使用document.title、document.location.href
- (void)webView:(WebView *)webview didFinishLoadForFrame:(WebFrame *)frame{
NSLog(@"anchor elements: %@", [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('a').length + '';"]);
}
如果您想知道,可以使用+将长度强制转换为字符串
我也试过了
[[webView windowScriptObject] evaluateWebScript:@"document.getElementsByTagName('*').length + '';"]
相同的结果返回0。
有人知道发生了什么吗?在经历了多次头部撞击之后,我发现了问题所在——从另一个线程调用document.getElement*不会返回任何元素。其他方法似乎仍然有效