Symbian/Phonegaps-1.10 | TypeError: Результат выражения 'localStorage' [null] не является объектом

Я получил

TypeError: Результат выражения 'localStorage' [null] не является объектом

когда я пытаюсь получить доступ к localStorage в приложении Symbian/Phonegap Похоже, это связано с ошибкой, которая произошла раньше:

TypeError: Результат выражения 'window.widget.preferenceForKey' [undefined] не является функцией. что происходит в очереди 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);
    }
}

Кажется, мне нужно разрешить локальное хранилище, я не знаю, как это сделать. Любое решение?

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>

Надеюсь это поможет!

Другие вопросы по тегам