0

私は得る

TypeError: 式 'localStorage' [null] の結果はオブジェクトではありません

Symbian/Phonegap アプリで localStorage にアクセスしようとすると、以前に発生したエラーに関連して次のようになります。

TypeError: 式 'window.widget.preferenceForKey' [未定義] の結果は関数ではありません。並んで発生するvar pref = window.widget.preferenceForKey(Storage.PREFERENCE_KEY);

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);
    }
}

ローカル ストレージを解決する必要があるようですが、その方法がわかりません。回避策はありますか?

4

1 に答える 1

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>

お役に立てれば!

于 2012-10-13T17:44:39.613 に答える