2015-02-11 71 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