IndexedDB在Chrome for Android上写入失败

时间:2012-10-04 14:58:00

标签: android google-chrome indexeddb

我对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,但我找不到任何更深入的讨论或文档,或者成功使用它的人的例子。

1 个答案:

答案 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版本中实现?我会建议你使用我给你的第二种可能性。