簡體   English   中英

脫機使用Firebase Angular應用程序

[英]Using a Firebase Angular application offline

我目前正在使用Firebase和AngularFire構建一個Angular 1.x應用程序作為我的后端/服務器。 由於應用程序/網站針對移動設備進行了優化,並且在將其添加到主頁時非常適合作為應用程序使用,因此我想知道即使手機處於脫機狀態,如何讓用戶使用它。

在網上搜索,我發現Firebase為Android Java的對應物提供了keepSynced(true),但是我無法為js找到這樣的選項。 然后,我使用HTML5的localStorage和基於上次更改時間的同步進行手動方法,但由於我使用了一些AngularFire的方便命令(例如$ save),我的大部分代碼都被破壞了。

有什么建議嗎?

使用$provide.decorator angular docs
$ provide.decorator的一個很好的用例是當你需要對你的模塊所依賴的某些第三方/上游服務進行微小的“調整”時,同時保持服務的完整性(因為你不是服務的所有者/維護者)服務) stackoverflow問題

基本上你可以檢查一下decorator內的navigator.onLine === true (或使用任何其他方法來檢測對firebase的請求是否會失敗)然后根據你的需要覆蓋angularFire的一些方法(寫入localStorage而不是發送實際angularFire請求)

這是我的示例使用angularfire覆蓋$add方法與裝飾器

這是裝飾器的基本示例

手動維護一個功能齊全的離線外殼應用程序可能是一個非常棘手的道路,但有幾種方法可以克服這一點,你可以嘗試使用kinvey ,檢查頁面我認為它正是你正在尋找的。

另一種方法是使用indexedDB而不是localStorage,並根據您的連接狀態選擇保存操作的目標,只需谷歌搜索有關同步脫機html5 indexedDB的信息,您就可以找到很多關於該主題的資源。 我希望這對你有所幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM