Со следующей небольшой модификацией демонстрационного примера cordova-plugin-nativestorage
:
Патч
32c32
< <!-- <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *"> -->
---
> <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">
40c40
< <body onload="showData()">
---
> <body>
Патч
78,89c77
< app.initialize();
<
< function showData() {
< NativeStorage.getString("dummy_ref_obj",
< function (result) {
< alert("After the page has been loaded, the current stored value was: " + result);
< },
< function (e) {
< alert("For the moment, no data saved");
< });
< NativeStorage.clear();
< }
---
> app.initialize();
NativeStorage
вызывается из скрипта, выполняемого после загрузки страницы (благодаря событию onload
), но созданного и запущенного для:
- браузер платформа, все в порядке:
- при первой загрузке → предупреждение «На данный момент данные не сохранены»,
- сохранить данные (скажем, «Foo») → предупреждение «Сохраненные данные: Foo»,
- перезагрузить страницу → «После загрузки страницы текущее сохраненное значение было предупреждением: Foo»,
- Android платформа, это не хорошо:
- при 1-й загрузке → нет предупреждения и следующая ошибка:
Uncaught ReferenceError: NativeStorage не определено
при showData (index.js: 81) при загрузке (index.html: 40)
Мой вопрос: возможно ли сделать NativeStorage
определенным при вызове из скрипта, выполняемого после загрузки страницы?
Может быть, моя проблема в том, что Я не жду, когда устройство будет готово, прежде чем звонить, я вызываю NativeStorage
плагин , но в таком случае я не вижу, как продолжить (я совсем новичок в Кордове).