【发布时间】:2016-04-21 17:28:14
【问题描述】:
我想从网站的 html 的特定部分检索数据,我编写了以下代码。不幸的是,代码不起作用。我该如何解决这个问题?
html 类名是“topic_content”,适用站点的每篇文章都包含它(参见代码中的 cmets)。
@implementation DetailViewController
....
UIActivityIndicatorView *activityIndicator;
- (void)viewDidLoad {
.....
activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
[activityIndicator stopAnimating];
....
[self callDetailNews];
}
-(void)callDetailNews{
....
if ([[Reachability reachabilityForInternetConnection]currentReachabilityStatus]!=NotReachable)
{
// article link :: http://el3en.com/?articles=topic&topic=20840 (token_ID)
// <td class="topic_content" colspan='6' itemprop="articleBody" style="text-align:justify; word-wrap: break-word; width:100%">
// NSString *someHTML = [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByClassName('box')[0].innerHTML;"];
NSString *articleString = [NSString stringWithFormat:@"http://el3en.com/?articles=topic&topic=%@",token_ID];
NSURL *articleURL = [NSURL URLWithString:articleString];
NSError *error;
NSString *articlePage = [NSString stringWithContentsOfURL:articleURL
encoding:NSASCIIStringEncoding
error:&error];
[_webView loadHTMLString:articlePage baseURL:nil];
//NSString *someHTML = [_webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByClassName('topic_content')[0].innerHTML;"];
//NSLog(@"Content : %@",someHTML);
}
.....
}
- (void)webViewDidStartLoad:(UIWebView *)webView {
[activityIndicator startAnimating];
self.webView.hidden=true;
}
- (void)webViewDidFinishLoad:(UIWebView *)webView {
[self.webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByClassName('topic_content')[0].sinnerHTML;"];
[activityIndicator stopAnimating];
self.webView.hidden=false;
}
谢谢
【问题讨论】:
-
你试过什么?它怎么不工作?您收到错误消息吗? Stack Overflow 是您尽最大努力解决问题后的去处。我们想看看你尝试了什么,什么有效,以及你得到了什么样的输出。有十亿种方法让某事“不起作用”,我们需要知道具体出了什么问题。
-
代码不抛出任何错误,代码不起作用意味着不显示来自站点的内容。
-
它有什么显示吗?还是只是空白?如果您 NSLog 文章字符串,您是否在日志中得到了一些东西?也许您只是没有正确连接您的网络视图。
-
应用程序每次加载并且不停止然后代码没有显示任何内容