2015-09-28 67 views
2

我只想讓用戶使用不安全的數據進行離線修改。即修改他們的個人資料名稱,添加新的內容(頁面),照片等等。當他們聯機時,所有這些活動必須在聯機服務器中相應更新。有沒有辦法在線下記錄用戶的活動並更新它們?

我需要一些關於此的廣泛想法。這將是一個網絡應用程序,主要是個人網站。如果我要做這個應用程序,我應該確保他們安裝了mysql和wamp服務器,以便離線更改可以記錄在本地主機中?

我指的是幾個論壇,其中一些提到html5 localstorage。這裏有一個:Mobile site/app - capture data offline and push to live database

該網站將主要在PHP,MYSQL,HTML5和JQUERY開發。

+1

,你可以嘗試使用本地存儲,但我不確定在這件事上使用本地存儲的缺點 – guradio

+1

我即將遭遇麻煩,但localStorage會讓你接近你想要的地方。主要缺點是localStorage只接受字符串,所以做一些json解析和來回解碼會有所幫助。 – Jesse

+0

@Jesse他還希望在本地存儲中保存blob的照片不是一個壞主意嗎?他可以爲照片做這件事。 – guradio

回答

4

如果您不想打擾您的用戶如何安裝某些程序以便在離線時存儲其數據 - (此流程應該不被注意或儘可能減少用戶的痛苦)我建議您參加localStorage的 - 如果你是罰款10MB(Chrome和Firefox,5MB移動)用戶的磁盤配額。

需要更多的空間?

Cache API爲一體的ServiceWorker API

服務工人的接口是針對原點和路徑註冊的事件驅動的工作人員。它採用JavaScript文件的形式,可以控制與其關聯的網頁/網站,截取並修改導航和資源請求,並以非常細緻的方式緩存資源,從而完全控制您的應用在某些情況下的行爲(當網絡不可用最明顯的是)

IndexedDB

值得了解(FF至少)所有索引資料鹼基(來自多個源/網站)不能把50%以上的總磁盤大小 - 並且從大小一個IDB不能佔用超過20%。另外,根據最近最少使用策略,如果數據庫可用空間變滿,瀏覽器可以(也將會)kill an IndexedBD

注意,對於舊的瀏覽器不支持IndexedDB的,你可能需要使用一個墊片退卻到Web SQL Database(這已不再維護)

+0

非常感謝這個想法!我的目標受衆是非IT專業人員,你是對的,我不想用我的指示來打擾他們。至於PHP桌面,他們需要雙擊.exe文件才能離線運行應用程序。但我更關心更新上網時間..我正在通過IndexedDB,並希望它會符合這個標準。 – 112233

+0

@Vani是的,只要記住你會發現索引數據庫在foobar中很痛苦。這是非常新鮮的,周圍仍然有很多灰塵。好消息是,FF允許您存儲甚至50MB的數據,而不會提示用戶留出更多空間。我會坦率地說去LocalStorage ...更容易。我只是保持它的聰明,以適應任何5MB以下的記錄交互(如我的Q評論中所建議的)。這將是一個數據編輯loooooot,但更少的圖像上傳和媒體的東西(主要導致Base64中的圖像比原始圖像數據大4/3。) –

+0

C.Buljan,我接受你的建議;將用於Localstorage,但會爲了學習目的而使用IndexedDB。非常感謝你的時間和精力:) – 112233

相關問題