About solution of offline mode for online HTML5 vi

2019-05-10 00:37发布

问题:

We have online website system with a lot of feature such as playback video etc.

The purpose is that we want to make offline mode application for the iPad with UIWebView support.

Two choices:

  1. Use HTML5 manifest to implement offline mode , here

  2. Download all content of HTML/JavaScripts/CSS and resources such as images/videos, then use UIWebView to load the HTML file

For the solution 1, after searching we found a lot of problems such as

  • cache limitation, not clear answer , 5MB ? 50 MB ?
  • hard to control , HTML/CSS/JS files are okay, but for video etc, not stable
  • live by session
  • ...

So we would give up the solution 1 , and choose solution 2: Download everything first, and render them with UIWebView from local downloaded data.

Questions:

  • How do you think of solution 2 ? Would be okay to pass reviews by Apple ? ( I concern that there are some limitation of JS by UIWebView )
  • Anyone succeed to use solution 1 ?
  • Any other solutions ?

Thanks

回答1:

We've actually just done this very same thing for a client of ours!

We spent forever trying to find a way around solution one - and simply put - not possible.

iOS prompts the users RE manifest - but the limit is at 50mb - and once thats up, it's exceptions all the way!

We're currently going down route 2 (and it works great!)

To give it an 'app feel' we've used HashBang links to ensure all the page transitions are fluid - as the user actually only stays on a single page, as everything is handled using '#!/Page/Section/etc...'.

With regards to limitations we've not found any yet, and we're firing some pretty heavy JS at it - although I would try and not use a framework for this (I can go into detail if you wish!).

And as for passing it via Apple - we're not going through the app-store, we bought an enterprise license for this, so we can deploy directly to our clients iPads, as it's for their use only - I'm not sure if this fits your needs - but the option is there!

Let me know your thoughts!