Ios8 Indexeddb无法从web应用程序在iPhone IOS 8上运行
我的Indexeddb有问题,当你将web应用程序锁定到主屏幕时,它似乎停止工作。在safari浏览器中运行时,一切正常。这是已知的限制吗?已知的问题。iOS 8上的“主屏幕”和“Cordova”web应用程序中的IndexedDB对象均为空。 此外,它是只读的。所以IndexedBSHIM也失败了Ios8 Indexeddb无法从web应用程序在iPhone IOS 8上运行,ios8,indexeddb,iphone-standalone-web-app,Ios8,Indexeddb,Iphone Standalone Web App,我的Indexeddb有问题,当你将web应用程序锁定到主屏幕时,它似乎停止工作。在safari浏览器中运行时,一切正常。这是已知的限制吗?已知的问题。iOS 8上的“主屏幕”和“Cordova”web应用程序中的IndexedDB对象均为空。 此外,它是只读的。所以IndexedBSHIM也失败了 使用window.\u indexedDB()的方法对我有效…indexedDB对cordova的支持率只有一半!他们只有一个只读数据库(完全无用) 但是,您可以通过使用polyfill来进行变通
使用window.\u indexedDB()的方法对我有效…indexedDB对cordova的支持率只有一半!他们只有一个只读数据库(完全无用) 但是,您可以通过使用polyfill来进行变通 ios8中polyfill的问题是,indexdb shim检测到并安装了indexdb,但在不知道它们是只读版本的情况下,它们使用window.indexdb而不是shim。因此,必须强制使用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();
你可以在
窗口中使用indexedDB。shimIndexedDB
我记得最近看到其他人抱怨同样的事情。对不起,我似乎找不到链接。