2015-02-11 69 views
1

我创建一个Angular Webapp,我需要应用程序脱机工作(大部分功能)。据我几乎所有的数据都需要对应用程序脱机使用,与Angularjs离线webapp

  1. 角JS文件
  2. 图片
  3. CSS文件

我读到IndexedDB的,它表明我们可以存储对象形式的数据(键/值对)。我如何储存上面列出的所有其他资源?有没有更好的方式来存储离线数据(本地存储也只能提供5MB的存储空间)。

还读取缓存清单文件,但似乎这不是一个很好的方式来存储更大的数据。

+0

看看我的图书馆/引导这个那么,如何做到这一点的离线Web应用程序首先进入浏览器?这是基于iOS的webapps吗?或常规的Web应用程序? – Andy 2015-02-11 15:19:34

+0

[LocalForage](https://hacks.mozilla.org/2014/02/localforage-offline-storage-improved/)看起来非常适合存储离线数据。我还没有用过它。如果您有一个像NodeJS一样运行的本地网络服务器,您可以将数据存储在运行在同一台服务器上的本地mongoDB中。如果你没有服务器,我认为你需要使用类似于IndexDB,localStorage或localForage的东西。 – AWolf 2015-02-11 15:24:50

+0

据我的理解,IndexedDB和LocalStorage可能容易受到跨目录攻击。更多信息:http://www.w3.org/TR/IndexedDB/#cross-directory-attacks – jyrkim 2015-02-11 16:00:24

回答

0

听起来像你需要查看清单文件,而不是像localForage的东西。这样浏览器就会为你做所有的CSS/HTML/JS位。

请参阅http://diveintohtml5.info/offline.html

如果你想去做数据的数据库的完全同步,你将有在商店为您提供了更多的工作,虽然你可以在https://github.com/forbesmyester/SyncItBootstrap

+0

我读过关于清单文件的问题是,即使单行代码被更改,然后再次下载整个清单文件,这是一个真正的大问题...所以不要以为清单可以用于大型webapps。 – 2015-02-12 07:02:14

+0

True ...这是存储大量静态数据的好方法,但部分更新需要完整下载,所以不是部分。你没有提到部分更新,或者在你的问题中有任何更新的愿望。 – Forbesmyester 2015-02-20 16:23:24