2009-11-05 3 views
0

내 objective-C 응용 프로그램에서 webkit 프레임을 호스팅하고 있고 stringByEvaluatingJavaScriptFromString을 사용하여로드 된 문서에서 일부 자바 스크립트를 실행하려고합니다. document.getElementsByTagName ('*') 또는 document.getElementsByTagName ('a')에 대한 모든 호출은 내 웹 뷰에서로드하는 페이지에 관계없이 0 길이 컬렉션을 반환합니다. 다른 문서 메서드가 작동하는 것 같습니다 (document.title, document.location.href 등). 스크립트는 Safari에서 올바른 값을 반환합니다. 내 웹 뷰가 아닙니다.Webkit javascript 평가에서 다른 문서 객체가 사용됩니까?

- (void)webView:(WebView *)webview didFinishLoadForFrame:(WebFrame *)frame{ 
     NSLog(@"anchor elements: %@", [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('a').length + '';"]); 
} 

(경우에 당신이 궁금는 + '문자열로 길이 강요하는 데 사용됩니다')

나는 또한 동일한 결과가 반환과

[[webView windowScriptObject] evaluateWebScript:@"document.getElementsByTagName('*').length + '';"] 

을 해봤를 0 아무도 모르는 일이 있습니까?

답변

0

머리가 많이 부서지면서 문제가 발생했습니다. 다른 스레드에서 document.getElement *를 호출해도 요소가 반환되지 않습니다. 다른 방법은 여전히 ​​작동하는 것 같습니다.

관련 문제