android - IndexedDB 在 Chrome for Android 上写入失败

标签 android google-chrome indexeddb

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

Todo list demo来自 HTML5 Rocks 在我桌面上的 Chrome 23 中运行良好。在 Android 4.0.4 上的 Chrome 18 中,它看起来很有希望:window.webkitIndexedDB 存在,我可以打开一个数据库并创建一个商店。但是,一旦我尝试写入存储,就会收到 READ_ONLY_ERR: DOM IDBDatabase Exception 9

Android 版 Chrome 的几个概述表明它支持 IndexedDB,但我找不到任何更深入的讨论或文档,或者人们成功使用它的例子。

最佳答案

READ_ONLY_ERR:DOM IDBDatabase 异常 9

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

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

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

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

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

关于android - IndexedDB 在 Chrome for Android 上写入失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12730123/

相关文章:

android - 如何让 Android MediaPlayer() 在应用程序关闭时停止?

java - 是否可以从java类调用android类?

android - Android中的音频分析

javascript - Google chrome 日志指示 xml.js :30 instead of actual line

javascript - 无法在 Safari 上的 IndexedDB 中存储 Blob 类型

html - 将本地 HTML5 数据库与 MongoDB 同步

java - java中的可点击图像按钮,没有android中的xml

javascript - 如何更改 chrome 扩展通知中图标的背景颜色

javascript - 全局变量只能由第一个函数访问?

angularjs - 在 Angular + Scala Play 上启用 CORS