aml*_*amm 5 javascript indexeddb cordova
我正在开发一个使用一些Indexeddb的Cordova应用程序(iOS上有一个垫片).
我正在使用IDBKeyRange具有已定义索引的对象库.这在Chrome浏览器中运行良好,但在Android和iOS上存在一些问题.
我有以下受MDN示例启发的TypeScript :
var transaction = this.db.transaction(objectStoreName, "readonly");
var objectStore = transaction.objectStore(objectStoreName);
var index: any = objectStore.index(indexName);
var request = index.getAll(IDBKeyRange.only(indexValue));
Run Code Online (Sandbox Code Playgroud)
在桌面上的Chrome中运行时,一切都很好.当我在已编译的Android或iOS应用程序中运行相同的代码时,我看到:
TypeError: IDBKeyRange.only is not a function
Run Code Online (Sandbox Code Playgroud)
我注销了该IDBKeyRange对象,它似乎是一个函数本身,但这没有用,因为它在(按预期工作)浏览器中执行相同操作.Chrome注销:
function IDBKeyRange()
Run Code Online (Sandbox Code Playgroud)
我解决这个问题的第一个尝试是更密切地关注MDN的例子并做一些类似的事情:
window.IDBKeyRange = window.IDBKeyRange || window.webkitIDBKeyRange || window.msIDBKeyRange;
Run Code Online (Sandbox Code Playgroud)
但是同样的行为发生了.有什么建议?
更新:
我在2个不同的Android Galaxy Tab As上尝试了这个.两者都具有相同的型号和Android版本(5.0.2).这适用于一个设备但不适用于另一个设备(wut).相同的代码,相同的数据,相同的构建过程.
随着进一步的挖掘,似乎index.getAll is not a function没有包括任何错误IDBKeyRange.only(indexValue).当index登出,我得到一个IDBIndex对象,没有任何方法.
| 归档时间: |
|
| 查看次数: |
327 次 |
| 最近记录: |