2015-04-26 10 views
5

Nell'ultima versione di · Sistema Android WebView (M42 42.0.2311.129) · sembra che ci siano problemi con localStorage nelle app ibride.localStorage non viene mantenuto nell'app ibrida in Android M42

Ho inviato un bug report ma sto cercando di trovare una soluzione alternativa per gli oggetti che non vengono mantenuti in localStorage.

questo è preso dal bug report:

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") 

Qual è il comportamento previsto?

localStorage.getItem("m42bug") dovrebbe restituire il valore "di prova per localStorage"

Cosa è andato storto?

localStorage.getItem("m42bug") restituisce null.

Object.keys(localStorage) indicano non c'è una chiave per m42bug

+0

Esistono alternative per memorizzare dati persistenti. La rimozione di localStorage è prevista o è un bug? –

+0

definitivamente un bug che ha la priorità su Google. Sembra che vogliano applicare la patch a M42, ma la correzione non ha ancora la priorità. Puoi seguire lo stato qui https://code.google.com/p/chromium/issues/detail?id=479767. L'unica soluzione ora è usare IndexedDB – dparnas

risposta

1

Di fronte lo stesso identico problema. Per ovviare al problema, memorizziamo i dati di localstorage sul telefono all'uscita dall'app e ripristiniamo da lì all'avvio dell'app. Funziona bene :) Spero che lo aiuti :)

+1

potresti aggiungere un po 'più dettagli su come stai memorizzando i dati localStorage all'uscita dall'app e come lo ripristini? – dparnas

+0

stai usando il plugin org.apache.cordova.file? http://docs.phonegap.com/en/edge/cordova_file_file.md.html – dparnas

1

È un bug, ho segnalato this e non riguarda solo WebView ma anche webapps (Chrome).

Nel mio caso, sono passato da localStorage a IndexedDB, che sembra funzionare correttamente. In effetti, sto riscrivendo tutta la gestione dei dati della mia app a ForerunnerDB e funziona benissimo.

Problemi correlati