我对Chrome for Android中的IndexedDB支持状态感到困惑。
HTML5 Rocks中的Todo list demo在我桌面的Chrome 23中运行良好。在Android 4.0.4的Chrome 18中,它看起来很有前途:window.webkitIndexedDB存在,我可以打开一个数据库并创建一个商店。但是当我尝试写信给商店时,我得到READ_ONLY_ERR: DOM IDBDatabase Exception 9
。
Chrome for Android的几个概述表明它支持IndexedDB,但我找不到任何更深入的讨论或文档,或者成功使用它的人的例子。
答案 0 :(得分:3)
READ_ONLY_ERR:DOM IDBDatabase异常9
错误是说问题是什么。您正在尝试在只读事务中将数据写入对象存储。您需要使用readwrite打开事务。
db.transaction(["scope"], "readwrite");
我不确定在android 4上实现了什么版本的indexeddb,所以它仍然可以使用整数值。在这种情况下,您应该使用以下内容:如果存在webkit版本,则使用window.webkitIDBTransaction.READ_WRITE;如果存在本机版本,则使用window.IDBTransaction.READ_WRITE。
db.transaction(["scope"], window.webkitIDBTransaction.READ_WRITE);
修改强> 我查看了项目的源代码,发现它已经使用了“readwrite”版本。也许这还没有在Android版本中实现?我会建议你使用我给你的第二种可能性。