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>
Надеюсь это поможет!