iOS中离线网站的最佳实践

smo*_*ter 7 iphone ipad ios

我正在构建一个需要下载大量html5内容的应用程序.基本上它的工作方式类似于您在iPad上看到的杂志应用程序,除了使用图像之外,它将使用UIWebViews和HTML.

我的问题是什么是存储它的最佳方法.我想的是一个下载的zip文件,它被解压缩到包中并包含h​​tml文件,图像,css等,或者将所有html放在数据库中,只是将图像,CSS,视频等下载并放入捆绑.

一些考虑:

许多链接将是设备的本地链接,但有些链接将位于外部网站.

我需要能够对所有html内容进行全文搜索.

内容的大小会有所不同.

另外,我希望能够指向正确的方向,只需使用UIWebViews设置分页即可.可能有很多UIWebViews.

谢谢,布兰登

aus*_*nbv 5

通过查看第一个和最好的HTML5概述书,可以很容易地回答这个问题......最好的部分是根据CC许可证发布的.

http://diveintohtml5.ep.io/offline.html < - 是关于缓存webapps的整章,对你的应用程序来说是一个很好的起点.

这并不困难,而且它是最前沿的,比那更酷.

如果你真的认真地让这个应用程序脱机工作,那么它实际上不应该超出链接.

虽然我确实有更多资源属于该章的底部

标准:

浏览器供应商文档

教程和演示:


Ale*_*nte 2

您可以先下载一个反映网站图像、css、html 结构的文件。

然后您解析该文件并开始下载每个文件并将它们保存到文档目录中(您不保存在数据库中,因为您可能有大图像,并且您可以保存它们的路径,这会很慢)。之后只需向本地 html 发出请求即可。

编辑:您可以在 webView 委托中捕获请求并查看它是内部还是外部

webView:shouldStartLoadWithRequest:navigationType: 在 Web 视图开始加载内容之前发送。

  • (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)请求导航类型:(UIWebViewNavigationType)navigationType

UIWebViewDelegate 协议参考