Android Gingerbread上的LocalStorage非法访问exception

我做了一个Android / PhoneGap的应用程序,它运行良好的所有设备与几个Android操作系统版本,除了在一些姜饼(2.3)手机。 我正在使用Phonegap 1.9。

debugging代码,我意识到Javascript的illegal access exception ,每次我使用HTML5 localStorage.getItem()localStorage.setItem()方法。

如何在这些Android设备上启用localStoragefunction?

Solutions Collecting From Web of "Android Gingerbread上的LocalStorage非法访问exception"

.getItem()返回null时,非法exception是由JSON.parse()方法引起的。 只是要小心validation它。 Android 2.3,HTML5 localStorage和Phonegap现在正在运行。

检查您的WebView的WebSettings的代码,即检查以下称为:

 WebSettings settings = webView.getSettings(); settings.setJavaScriptEnabled(true); settings.setDatabaseEnabled(true); settings.setDatabasePath(this.getApplicationContext() .getDir("database", Context.MODE_PRIVATE).getPath()); settings.setDomStorageEnabled(true); 

这validation工作对我来说。 :)(在android 2.3使用phonegap的JavaScript)

 Storage.prototype.getArray = function(key) { if (this.getItem(key)) { return JSON.parse(this.getItem(key)) } else { //console.log("no error null value"); } }