0

我的iPhone应用程序有一个信息页面,其中包含一个UIWebView,我已经指出,在我的网站的信息页面:iPhone:从提取文本和检索网页的磁盘缓存

NSString *urlAddress = @"http://www.toneme.org/Software"; 
NSURL *url = [NSURL URLWithString: urlAddress]; 
NSURLRequest *requestObj = [NSURLRequest requestWithURL: url]; 

[self.webView loadRequest:requestObj]; 

然而,每一次用户加载应用程序,他们将获得一个空白屏幕的年龄,直到它获取数据。不是很好。

显示加载的最后一页,同时试图在后台获取新版本会好得多。但我看不出如何干净地做这件事。有人能让我开始吗?

第二个问题:对于iPhone而言,在UIWebView中显示此网页并不实际,因为该网页包含三个窗格;整个事情都不适合。我真的想从页面中提取文本。有没有干净的方式来做到这一点?我可以指定我只想下载主体吗?

我猜整个页面获取返回一个字符串,所以也许如果我适合一对夫妇自制的标签在我的文字,这将简化手动提取文本...

回答

1

提供的HTTP API它提供了可以解析的某种格式的文本(即JSON,XML),这将允许您下载该数据,将其存储在本地(更多信息在此一次),并从下载的数据构建一个视图以显示不错的内容和漂亮。 :)

关于存储数据,请看编写一个类,它将数据保存到应用程序的Documents目录,并处理查看服务器的http头信息,以查看是否需要重新下载该文件,或者它已经是最新的(这可以在理想情况下使用etags来完成,但如果etags在您的基础架构中不受支持,则为最后修改日期)。

1

由于这样自己肯定是可以的,但相当一些工作得到正确, 你可能要检查AsiHTTPRequest,尤其是 ASIWebPageRequest

HTH

0

你应该能够保存UIWebView的内容,将URL数据复制到文件中以便在代表webViewDidFinishLoad方法中使用

NSString *myHtml = [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.outerHTML"];