Используйте indexedDB вместо webSQL в Chrome, который больше не работает

Я использую PouchDB для хранения данных в локальной базе данных, а затем в удаленной CouchDB. Отныне PouchDB использует только indexedDB для локальной базы данных в Chrome, но теперь использует webSQL (в версии 56). Я не сталкиваюсь с этой проблемой в Chrome Canary или Firefox, где PouchDB использует indexedDB, как и ожидалось.

Я использую этот код, чтобы узнать, используется ли indexedDB или webSQL:

var pouch = new PouchDB('myDB');
console.log(pouch.adapter);

person hhh    schedule 30.01.2017    source источник
comment
Вы пытались настроить адаптер вручную, как new PouchDB('myDB', {adapter: 'idb'});? См. документацию по адаптерам.   -  person Phonolog    schedule 31.01.2017
comment
Он возвращает Uncaught Error: Invalid Adapter: idb at new Oe (pouchdb-6.1.1.min.js:8) (только в Chrome 56).   -  person hhh    schedule 31.01.2017


Ответы (1)


Пытаться:

PouchDB.adapters

в консоли вашего сайта. Должен получиться объект со всеми доступными адаптерами.

Кроме того, вы можете ввести PouchDB.preferredAdapters в консоли, чтобы увидеть, отображается ли он там. Если он отображается как «idb», его можно использовать (что и должно быть), тогда вы сможете просто использовать new PouchDB('name', {adapter: 'idb'});.

person thomagron    schedule 20.02.2017
comment
Кажется, что idb недоступен. PouchDB.adapters вывод websql, http и https. PouchDB.preferredAdapters вывод websql. - person hhh; 20.02.2017
comment
это так странно. Попробуйте переустановить хром до последней рекомендованной версии - person thomagron; 21.02.2017
comment
О, моя ошибка! Я перепутал две проблемы... На самом деле PouchDB.adapters показать idb в Chrome. Я заметил это в Chrome iOS (поскольку idb недоступен)... В chrome 56 создание новой БД дает мне это сообщение: PouchDB is downgrading "myDB" to WebSQL to avoid data loss, because it was already opened with WebSQL. И я не могу использовать new PouchDB('name', {adapter: 'idb'});, потому что код также используется в iOS, где idb дает ошибку. - person hhh; 21.02.2017