Best practice for offline website in iOS

This question can be pretty easily answered by looking at the first and best HTML5 overview book out right now... And the best part it is published under the CC license.

http://diveintohtml5.ep.io/offline.html <- is a whole chapter on cacheing webapps and is a great jumping off point for your application.

It's not difficult, and it's cutting edge, what's cooler than that.

If you are really serious about getting this application to work offline well then it really shouldn't be summarized beyond the link.

Although I do have more resources that were at the bottom of that chapter

Standards:

  • Offline web applications in the HTML5 specification

Browser vendor documentation:

  • Offline resources in Firefox
  • HTML5 offline application cache, part of the Safari client-side storage and offline applications programming guide

Tutorials and demos:

  • Gmail for mobile HTML5 series: using appcache to launch offline - part 1
  • Gmail for mobile HTML5 series: using appcache to launch offline - part 2
  • Gmail for mobile HTML5 series: using appcache to launch offline - part 3
  • Debugging HTML5 offline application cache
  • an HTML5 offline image editor and uploader application
  • 20 Things I Learned About Browsers and the Web, an advanced demo that uses the application cache and other HTML5 techniques

You could download first an file that reflects the structure of the website images, css, htmls.

Then you parse this file and start download each file and save them to documents directory (you don't save in database because you could have big images and that will be slow you could save the paths of them). Afther thad just do an request to the local html.

Edit: You can catch the request in the webView delegate and see if it is internal or external

webView:shouldStartLoadWithRequest:navigationType: Sent before a web view begins loading content.

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

UIWebViewDelegate Protocol Reference

Tags:

Ios

Iphone

Ipad