将网页保存为脱机状态,稍后在iOS上阅读

我想做一个应用程序,可以保存网页离线供以后阅读。 我发现ASIWebPageRequest项目可以caching网页内容。 但是,我有一个问题,如果我有很多的网页,如100页,每个包含许多图像。 这是一个很好的解决scheme吗? 或者这个项目可以从它cachingdynamic加载内容?

我正在考虑另一种解决scheme,但是我不确定是否可能以及如何实施。 你能帮忙给点build议吗?

当加载页面时,iOSparsinghttp内容并将所有资源(如image,css,js)保存到数据库中。 下次访问时,会得到这些资源数据库。 可能吗?

最好的祝福,

对的,这是可能的。

您可以对由NSURLRequest返回的内容执行正则expression式,并将所有链接和图像保存到磁盘。 我的build议是,用正则expression式replacepath,并将图像/资源重命名为其内容的md5。 所以如果你得到一个图像两次,它只会下载一次:)

我写了很多代码,但我不能发布:(但它是可能的,它的工作原理,需要大约100行。

请帮助你+1这个。 谢谢 :)

这看起来像是使用NSURLCache( http://www.nshipster.com/nsurlcache/ )的绝好机会。 它以多种模式运作,其中两种模式将覆盖您的要求。 在第一次使用时,你会用它来填充caching。 在后续使用中,您可以在ReturnCacheDataDontLoad模式下使用它。 这将完全消除您将会维护/更改相对path,跨域问题等的任何问题。