2017-01-30 45 views
1

我使用PouchDB将数据存储在localDB中,然后存储在远程CouchDB中。从现在开始,PouchDB仅在Chrome中使用localDB的indexedDB,但现在它使用webSQL(在第56节中)。我没有遇到Chrome Canary或Firefox的问题,PouchDB按预期使用indexedDB。PouchDB:在chrome中使用indexedDB而不是webSQL(不再工作)

我用这个代码,看看如果使用IndexedDB的或的WebSQL:

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

您是否尝试过像'new PouchDB('myDB',{adapter:'idb'})手动设置适配器;'?请参阅[适配器文档](https://pouchdb.com/adapters.html)。 – Phonolog

+0

它在新的Oe(pouchdb-6.1.1.min.js:8)'(仅在Chrome 56中)返回'未捕获错误:无效适配器:idb '。 – hhh

回答

0

尝试:

PouchDB.adapters 
在您的网站的控制台

。它应该提供一个包含所有可用适配器的对象。

另外,您可以在控制台中键入PouchDB.preferredAdapters以查看它是否显示在那里。如果它显示为'idb',它可以使用(它应该),那么你应该只能使用new PouchDB('name', {adapter: 'idb'});

+0

似乎'idb'不可用。 'PouchDB.adapters'输出'websql','http'和'https'。 'PouchDB.preferredAdapters'输出'websql'。 – hhh

+0

多数民众赞成在很奇怪。尝试重新安装铬到最新的推荐版本 – thomagron

+0

哦,我的错误!我混淆了两个问题......实际上'PouchDB.adapters'在Chrome中显示idb。我观察到,在Chrome iOS上(因为idb不可用)...在chrome 56上创建一个新的DB给了我这个信息:'PouchDB将“myDB”降级为WebSQL以避免数据丢失,因为它已经用WebSQL打开。 '我不能使用新的PouchDB('name',{adapter:'idb'});'因为代码也在iOS中使用,idb会给出错误。 – hhh

相关问题