Браузер Android поддерживает индексированную базу данных?

Я написал приложение для Android с телефонной связью. Я хотел бы использовать indexedDB, но всегда получаю исключение. NOT_FOUND_ERR: Исключение базы данных DOM IDBDatabase 3: 264

когда я инициализирую indexedDB, я не получаю ошибки:

//todo csinálni kell inicializált eventet

// In the following line, you should include the prefixes of implementations you want to test.
window.indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
// DON'T use "var indexedDB = ..." if you're not in a function.
// Moreover, you may need references to some window.IDB* objects:
window.IDBTransaction = window.IDBTransaction || window.webkitIDBTransaction || window.msIDBTransaction;
window.IDBKeyRange = window.IDBKeyRange || window.webkitIDBKeyRange || window.msIDBKeyRange;
// (Mozilla has never prefixed these objects, so we don't need window.mozIDB*)

if (!window.indexedDB) {
    window.alert("Your browser doesn't support a stable version of IndexedDB. Such and such feature will not be available.");
}

и когда я регистрирую indexedDB, я получаю [object IDBDatabase].

Я получаю ошибку в этой строке: var trans = db.transaction([index], "readwrite");

Мой код работает в настольном браузере на ПК, но не работает на планшете. Я тестировал браузеры Chrome и Firefox на своем ПК.

Как я могу решить проблему


person Lajos    schedule 30.09.2013    source источник


Ответы (1)


Из моего тестирования Android 4.1 (и выше) имеет IndexedDB как в веб-клиенте, так и в стандартном браузере. Однако реализация глючная, неполная и устаревшая.

Вместо "readwrite" используйте старый стиль window.webkitIDBTransaction.READ_WRITE.

person Kyaw Tun    schedule 01.10.2013