2010-06-15 3 views
4

다시 다운로드하지 않고 UIWebView의 HTML 소스를 가져 오려고합니다 (예 : [NSData dataWithContentsOfURL:(NSURL*)URL]과 같은 또 다른 다운로드를 수행하거나 NSURLRequest를 시작합니다.) UIWebView 헤더 및 설명서를 탐색하면 아무 것도없는 것처럼 보입니다. 현재의 접근 방법은 소스의있는 NSData로드. 나는 뭔가를 놓치고 있습니까?UIWebView get HTML Source

+0

내 webview가 일부 경우에 공백으로 나오기 때문에이 동일한 질문을 가지고 있으며 거기에 html이 있는지보고 싶습니다. 내 생각에 [webview stringByEvaluatingJavaScriptFromString : script]는 시작이 될 수 있지만 자바 스크립트가 전체 문서를 가져올 것이라고 생각하지 않습니다. – TahoeWolverine

+0

아래 답변에서 말한 것처럼 역 (데이터를 얻은 다음 웹보기로로드)이 더 쉽습니다. 나는 데이터를 다운로드하기위한 래퍼 클래스를 작성했다. (더 간단하게 만든다. MIME 타입을 얻는다.) 누군가가 단지 코멘트를 원하면, 코멘트에 맞지 않으면 그것을 대답으로 게시 할 것이다. 그러나 앞으로/앞으로 단추를 작동시키는 방법을 궁금해합니다. 누군가 말해 줄 수 있니? –

+0

@Alexandre Cassagne, 래퍼 클래스를 게시하거나 http://snipplr.com/에 게시 할 수 있습니까? 이것은 HTML 소스/데이터를 내가 계획 한 다른 방법으로 얻을 수 없기 때문에 필자가 필요로하는 것입니다. 고마워요 – 0SX

답변

1

역 당신이. 즉, 사용하여 해당 개체에서있는 UIWebView를로드 한 다음을 NSData 객체에 URL을로드하고 싶은 일을해야 – loadData:MIMEType:textEncodingName:baseURL:

24

UIWebView는 자바 스크립트 코드를 실행할 수 있으므로이 기능을 사용해보세요.

NSString *html = [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.outerHTML"]; 
+0

감사! 이것은 HTML이 자바 스크립트에서 렌더링되는 경우도 처리합니다. – mkko