2014-10-02 136 views

回答

2

已知问题。其他iOS8 IndexedDB错误。

0

IndexedDB的是成功的一半支持科尔多瓦!他们只有一个只读数据库(完全以没用) 但是你可以做一个变通方法,通过使用填充工具例如Polyfill Indexeddb

的填充工具的问题iOS8上的情况下,即INDEXDB垫片检测,即INDEXDB安装,但不知道它们是只读版本,它们使用window.indexdb而不是垫片。因此你必须强制使用indexshim而不是window.indexeddb。

打开pollyfill 的代码中找到的代码块:

if ((typeof window.indexedDB === "undefined" || poorIndexedDbSupport) && typeof window.openDatabase !== "undefined") { 
    window.shimIndexedDB.__useShim(); 
} 
else { 
    window.IDBDatabase = window.IDBDatabase || window.webkitIDBDatabase; 
    window.IDBTransaction = window.IDBTransaction || window.webkitIDBTransaction; 
    window.IDBCursor = window.IDBCursor || window.webkitIDBCursor; 
    window.IDBKeyRange = window.IDBKeyRange || window.webkitIDBKeyRange; 
    if(!window.IDBTransaction){ 
     window.IDBTransaction = {}; 
    } 
    /* Some browsers (e.g. Chrome 18 on Android) support IndexedDb but do not allow writing of these properties */ 
    try { 
    window.IDBTransaction.READ_ONLY = window.IDBTransaction.READ_ONLY || "readonly"; 
    window.IDBTransaction.READ_WRITE = window.IDBTransaction.READ_WRITE || "readwrite"; 
    } catch (e) {} 
} 

,并替换为:

window.shimIndexedDB.__useShim(); 

可以使用索引资料与window.shimIndexedDB

相关问题