Symbian / Phonegaps-1.10 | TypeError:表达式'localStorage'[null]的结果不是对象

时间:2012-10-08 07:32:04

标签: cordova symbian nokia-wrt

我得到了

  

TypeError:表达式'localStorage'[null]的结果不是对象

当我尝试访问Symbian / Phonegap应用程序上的localStorage时 看起来这与之前的错误有关:

  

TypeError:表达式'window.widget.preferenceForKey'[undefined]的结果不是函数。   行var pref = window.widget.preferenceForKey(Storage.PREFERENCE_KEY);

中的ocurr
function Storage() {
    this.available = true;
    this.serialized = null;
    this.items = null;

    if (!window.widget) {
        this.available = false;
        return;
    }
    var pref = window.widget.preferenceForKey(Storage.PREFERENCE_KEY);

    //storage not yet created
    if (pref == "undefined" || pref == undefined) {
        this.length = 0;
        this.serialized = "({})";
        this.items = {};
        window.widget.setPreferenceForKey(this.serialized, Storage.PREFERENCE_KEY);
    } else {
        this.serialized = pref;'({"store_test": { "key": "store_test", "data": "asdfasdfs" },})';
        this.items = eval(this.serialized);
    }
}

似乎我需要解决本地存储我不知道该怎么做。 任何解决方法?

1 个答案:

答案 0 :(得分:1)

我自己一直在努力解决这个问题。

一个简单的解决方法是尽量避免使用preferenceForKey,而是使用首选项。

<script>
    var value = "Information to be stored";
    var key = "key";
    widget.preference["key"] = value;
 </script>

您可以稍后检索此信息。

<script>
    var value = widget.preference["key"];
    alert(value);
</script>

希望这有帮助!