iOS中离线网站的最佳实践

时间:2011-04-20 15:05:23

标签: iphone ios ipad

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

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

一些注意事项:

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

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

内容的大小会有所不同。

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

谢谢, 布兰登

3 个答案:

答案 0 :(得分:5)

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

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

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

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

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

标准

浏览器供应商文档:

教程和演​​示:

答案 1 :(得分:2)

您可以先下载一个反映网站图片结构的文件,css,htmls。

然后你解析这个文件并开始下载每个文件并将它们保存到文档目录(你没有保存在数据库中,因为你可能有大图像,而且你可以保存它们的路径很慢)。其他人只是向当地的html请求。

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

  

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

     
      
  • (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest   *)请求navigationType:(UIWebViewNavigationType)navigationType
  •   

UIWebViewDelegate Protocol Reference

答案 2 :(得分:0)

我自己没有使用它,但你可能想看看ASIHTTPRequestASIWebPageRequest课程。