2015-04-26 42 views
5

在Android系統WebView(M42 42.0.2311.129)的最新版本中,混合應用中似乎存在localStorage的問題。localStorage未在Android M42中的混合應用中持久保存

我已經提交了一個bug report,但我試圖找到一個解決方案,而不是在localStorage中保存的對象。

這是從錯誤報告採取:

Steps to reproduce the problem: 
1. Start hybrid app built with phonegap 
2. In app, call javascript localStorage.setItem("m42bug","test for localstorage") 
3. Through developer tools debugging confirm object has been stored: localStorage.getItem("m42bug") 
4. Close app 
(swipe it away, force close it or restarting the device all cause the same) 
5. Start app 
6. In app, call javascript localStorage.getItem("m42bug") 

什麼是預期的行爲?

localStorage.getItem("m42bug")應該返回值 「測試的localStorage」

出了什麼問題?

localStorage.getItem("m42bug")返回null。

Object.keys(localStorage)表明有面對相同問題的m42bug

+0

有沒有其他選擇來存儲持久性數據。 刪除localStorage的目的是或者它是一個錯誤? –

+0

肯定是Google優先考慮的錯誤。看起來他們想修補M42,但修復仍然沒有優先。您可以在https://code.google.com/p/chromium/issues/detail?id=479767處查看狀態。現在只有解決方法是使用IndexedDB – dparnas

回答

1

沒有鑰匙。對於解決方法,我們將本地存儲數據存儲在手機上並退出應用程序,並在應用程序啓動時從此處將其恢復。工作正常:)希望它可以幫助:)

+1

可以添加更多關於如何在退出應用程序時存儲localStorage數據以及如何恢復它的詳細信息? – dparnas

+0

你使用的是org.apache.cordova.file插件嗎? http://docs.phonegap.com/en/edge/cordova_file_file.md.html – dparnas

1

是一個錯誤,我報告this,它不僅影響WebView,但也影響webapps(鉻)。

在我的情況下,我從localStorage移動到IndexedDB,這似乎工作正常。實際上,我正在將我的應用程序的所有數據管理重寫爲ForerunnerDB,並且效果很好。

相關問題