3

我对 Android 版 Chrome 中的 IndexedDB 支持状态感到困惑。

HTML5 Rocks的Todo 列表演示在我桌面上的 Chrome 23 中运行良好。在 Android 4.0.4 上的 Chrome 18 中,它看起来很有希望:window.webkitIndexedDB 存在,我可以打开一个数据库并创建一个商店。但是,当我尝试写信给商店时,我得到了一个READ_ONLY_ERR: DOM IDBDatabase Exception 9.

Chrome for Android 的一些概述表明它支持 IndexedDB,但我找不到任何更深入的讨论或文档,或成功使用它的人的示例。

4

1 回答 1

4

READ_ONLY_ERR:DOM IDBDatabase 异常 9

错误是说问题是什么。您正在尝试将数据写入只读事务中的对象存储。您需要使用读写打开一个事务。

db.transaction(["scope"], "readwrite");

我不确定在 android 4 上实现了什么版本的 indexeddb,所以它可能仍然使用整数值。在这种情况下,您应该使用以下内容:window.webkitIDBTransaction.READ_WRITE(如果存在 webkit 版本)或 window.IDBTransaction.READ_WRITE(如果存在本机版本)。

db.transaction(["scope"], window.webkitIDBTransaction.READ_WRITE);

编辑 我查看了项目的源代码,发现它已经使用“读写”版本。也许这还没有在android版本中实现?我建议你使用我给你的第二种可能性。

于 2012-10-07T06:48:04.740 回答