18

我制作了一个 Android/Phonegap 应用程序,它在所有具有多个 android 操作系统版本的设备上运行良好,除了一些 Gingerbread (2.3) 手机。我正在使用 Phonegap 1.9。

调试代码,我实现了一次illegal access exception对Ja​​vascript,每次使用HTML5localStorage.getItem()localStorage.setItem()方法。

如何localStorage在这些 Android 设备上启用这些功能?

4

3 回答 3

8

当 .getItem() 返回 null 时,非法异常是由 JSON.parse() 方法引起的。只是要小心验证它。Android 2.3、HTML5 localStorage 和 Phonegap 现在可以完美运行。

于 2012-11-20T18:31:44.640 回答
0

这个验证对我有用。:) (android 2.3 中的 javascript 使用 phonegap)

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

    }
于 2014-10-03T07:16:57.190 回答
0

检查您的 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);
于 2012-10-16T14:10:41.387 回答