检测`UIWebView`内iframe的结束加载

时间:2013-02-19 14:13:06

标签: iphone cordova iframe uiwebview phonegap-plugins

我正在开发一个Phonegap项目。我要求获取在UIWebView内打开的网页内容。

可以使用以下代码。

NSMutableString *html = [[[sender stringByEvaluatingJavaScriptFromString:@"document.documentElement.outerHTML"] mutableCopy] autorelease];

现在我的问题是我在html页面中有iframe。我无法在“webViewDidFinishLoad”方法中获得iframe的内容。

如何在iframe中获取内容。

请给我阳光。

2 个答案:

答案 0 :(得分:0)

这是我的示例代码:

- (void)webViewDidFinishLoad:(UIWebView *)sender 
{
NSMutableString *html = [[[sender stringByEvaluatingJavaScriptFromString:@"document.documentElement.outerHTML"] mutableCopy]  autorelease];
}

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
  return YES;   
}

- (void)loadAddress:(id)sender event:(UIEvent *)event
{
NSString* urlString = self.addressField.text;
NSURL* url = [NSURL URLWithString:urlString];
NSURLRequest* request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];
}    

答案 1 :(得分:0)

我得到了答案。我需要将此字符串添加到

NSString jsString = @"$('iframe').ready(function() {
              var document1 = window.document.getElementsByTagName('iframe')[0].contentWindow.document.getElementsByTagName('input');
             }";

[webView stringByEvaluatingJavaScriptFromString:jsString];