Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone:从检索到的网页的磁盘缓存中提取文本_Iphone_Caching_Uiwebview_Html Content Extraction_Nsurlcache - Fatal编程技术网

iPhone:从检索到的网页的磁盘缓存中提取文本

iPhone:从检索到的网页的磁盘缓存中提取文本,iphone,caching,uiwebview,html-content-extraction,nsurlcache,Iphone,Caching,Uiwebview,Html Content Extraction,Nsurlcache,我的iPhone应用程序有一个信息页面,其中包含一个UIWebView,我已将其指向我网站的信息页面: NSString *urlAddress = @"http://www.toneme.org/Software"; NSURL *url = [NSURL URLWithString: urlAddress]; NSURLRequest *requestObj = [NSURLRequest requestWithURL: url]; [self.webView loadRequest:re

我的iPhone应用程序有一个信息页面,其中包含一个UIWebView,我已将其指向我网站的信息页面:

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

[self.webView loadRequest:requestObj];
然而,每次用户加载应用程序时,他们都会在很长一段时间内看到一个空白屏幕,直到它获取数据为止。这不好

最好显示加载的最后一页,同时尝试在后台获取新版本。但我看不出如何干净利落地做到这一点。有人能帮我开始吗

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


我猜整个页面都会以单个字符串的形式返回,因此,如果我在文本周围加上两个自制的标记,这可能会简化手动提取文本的过程……

提供一个HTTP API,该API以您可以解析的某种格式(即JSON、XML)提供文本,允许您下载数据,并将其存储在本地(稍后将对此进行详细介绍),并利用下载的数据构建一个视图,以显示漂亮的外观。:)


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

因为您自己完成这项工作当然是可能的,但需要做很多工作才能正确, 您可能需要检查AsiTRequest,尤其是


HTH

您应该能够将UIWebView内容和URL数据保存到一个文件中,以便在委托webViewDidFinishLoad方法中使用

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