Javascript 在Phonegap Android上具有2个集合的Lawnchair存储

Javascript 在Phonegap Android上具有2个集合的Lawnchair存储,javascript,android,jquery,cordova,lawnchair,Javascript,Android,Jquery,Cordova,Lawnchair,我在Lawnchair(0.6.1)上遇到了一个棘手的问题。我希望有两个全局可访问的集合/Lawnchairs,都带有webkit sqlite适配器。这就是我在加载Lawnchair和适配器之后声明它们的方式: var clientStore = Lawnchair({name: 'clients'}, function () {}); var companyStore = Lawnchair({name: 'companies'}, function () {}); // other glo

我在Lawnchair(0.6.1)上遇到了一个棘手的问题。我希望有两个全局可访问的集合/Lawnchairs,都带有webkit sqlite适配器。这就是我在加载Lawnchair和适配器之后声明它们的方式:

var clientStore = Lawnchair({name: 'clients'}, function () {});
var companyStore = Lawnchair({name: 'companies'}, function () {});
// other global variables
...
在我的桌面上的Safari和Chrome中,一切都很顺利,我的iPad和使用Phonegap(3.0.0)的模拟器中的其他iOS设备也是如此。根本没有问题,两个数据库都显示在web inspector和Weinre中。我可以在任何JQuery移动事件(1.3.2版和1.4.0测试版)中使用它们。手动检查Weinre中的数据库对象可以确认它们确实在使用webkit sqlite适配器

但如果在Android上运行Phonegap应用程序,则只有
clientStore
可以访问和使用。试图访问
companyStore
时出现以下错误:

companyStore.all(function (allEntries) {
    console.log(allEntries);
...
>TypeError:无法调用未定义的方法“all”

在安卓设备上的Weinre中显示的唯一数据库是
客户端
数据库。加载所有内容后,从Weinre inspector控制台手动初始化
公司
数据库不会对“资源”选项卡上的数据库列表显示任何影响,也不会更改任何其他内容(上述错误除外)

试图以编程方式访问“未定义的”
companyStore
,比如当有人切换到一个所有公司都应列出的页面时,Android设备上的UI就会“崩溃”。在那之后,控制台上再也不会打印任何内容了。如前所述,所有其他平台都可以正常工作

我只是做了一些愚蠢的错误,还是遇到了错误/功能

非常感谢你的帮助,这件事把我逼疯了

编辑:到目前为止,使用标准DOM适配器在所有平台上都适用。我想我现在还是坚持使用这个。如果有人遇到同样的问题,下面是如何显式使用DOM适配器:

var clientStore = Lawnchair({name: 'clients', adapter: 'dom'}, function () {});
var companyStore = Lawnchair({name: 'companies', adapter: 'dom'}, function () {});