2011-08-29 122 views
0

如何在Web SQL中設置離線存儲模式(離線/在線)的基本切換?我知道這裏有javascriptHTML5 - 設置離線存儲的Web sql

window.navigator.onLine。我可以檢查模式,然後經歷一個過程......

//All GET/POST performed with AJAX 
//On Startup pulldown entire accessible database into offline storage (Doesn't seem secure IMO) 
//if(read) pull from offline 
//if(create, update, delete and online) pull from standard db, mark changes with offline expiration flag 
//if(create, update, delete and offline) perform operation on offline storage, persist with POST when next online (change flag) 

我問,如果有這些標準的任務,任何OOB整合?

回答

1

navigator.online屬性一般不是很有用 - 在桌面瀏覽器中,它所做的只是掛入文件 - >脫機工作菜單。它可能在iPad上更有用,我不知道,因爲我沒有,我猜沒有文件菜單,但我會建議你測試。

解決此問題的常見方法是在清單的回退部分中設置兩個容易區分的文件。每次你想連接回服務器時都試圖通過AJAX獲取文件,並在回調中檢查它是否得到在線文件或回退,然後相應地進行分支。

0

您不應該使用Web SQL,因爲該規範在新的幾個月前不再適用。你應該使用Localstorage。除非你專門爲iphone編寫代碼,但即使如此,你也不知道規範將在webkit中運行多久。

+0

我已經告知管理層這個事實。我們只支持iPad離線存儲。從WWDC 2011的視頻來看,蘋果公司確實似乎正在對這個標準的所有圓柱體進行射擊。改變不是一種選擇。 –