【发布时间】:2011-02-01 05:20:48
【问题描述】:
我想从给定的网页中提取 html 内容。当我运行下面给出的代码时,它会加载整个浏览器......比如说...... google.com......到 UIWebView..我希望 html 内容显示在我的 UIWebView 中......我使用了[webVieww stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML"]在webViewDidFinishLoad
它没有提取内容...我犯了错误...如果有问题,如果你们能纠正我的代码,我会很高兴。
icodeBrowserViewController.m
#import "icodeBrowserViewController.h"
@implementation icodeBrowserViewController
@synthesize webView,addressBar,activityIndicator;
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad
{
[super viewDidLoad];
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://firesky.com"]]];
}
-(IBAction)gotoAddress:(id) sender
{
NSURL *url=[NSURL URLWithString:[addressBar text]];
NSURLRequest *requestObj=[NSURLRequest requestWithURL:url];
[webView loadRequest:requestObj];
[addressBar resignFirstResponder];
}
-(void)webViewDidFinishLoad:(UIWebView *)webVieww
{
js_result=[webVieww stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML"];
[activityIndicator stopAnimating];
}
【问题讨论】:
-
你能清理一下代码的表示吗?这很难读。只需在每行前面粘贴 4 个空格。预览窗口将向您展示它的外观。
-
你想获取原始 html 吗?
-
只是特定的html内容
-
当您向 HTML 服务器发出请求时,您会得到一个“文件”,这可能会导致加载其他文件,例如图像等。因此,您得到的只是 HTML 内容。您是否想要“有趣的内容”而不是标题内容和导航等等?
-
不,我只想要使用此标签的特定内容“document.getElementByid(特定 id 名称)”......问题是 webviewDidfinishload 中的 javascript 没有在 webview 中加载......你能不能告诉我是什么问题
标签: objective-c cocoa-touch uiwebview