【问题标题】:IndexedDBShim works for a bit, then produces errorsIndexedDBShim 工作了一会儿,然后产生错误
【发布时间】:2014-03-28 17:51:25
【问题描述】:

我有一个基于 HTML5 / Javascript 的相当数据密集型移动应用程序,它使用 IndexedDb 和 IndexedDbShim 用于本机不支持 idb 的设备。

对于支持 IndexedDb 的设备,应用程序很好,没有数据访问问题。然而,当使用 Safari 在 iPad Mini 上进行测试时,虽然应用程序最初运行正常,但以通常的方式“随机”浏览和使用应用程序会引发以下错误:

  • 无法打开数据库(14无法打开数据库文件)
  • InvalidStateError:DOM 异常:尝试使用不可用或不再可用的对象。

有没有人在使用 IndexedDbShim 之前遇到过这种问题?

【问题讨论】:

  • 你能告诉我们你是如何填充数据库的吗?确保不要打开事务并稍后在异步块中使用它。例如,首先打开一个事务,然后一个 ajax 请求,您将尝试使用它可能会出现您看到的错误。
  • 这是 github Indexeddbshim 项目的作者 Dick van den Brink 吗?很高兴见到你!关于交易的想法很有趣。我会看看我们是如何管理交易的。
  • 是的,就是我 :) 原作者是其他人顺便说一句,所以大部分功劳应该归于 Parashuram :)
  • Dick 加入我们的 IndexedDB 用户列表!我们很乐意围绕 IDB groups.google.com/forum/#!forum/indexeddb-users 开始社区建设
  • Jonny 很抱歉不能为您提供帮助,但我会尝试研究这个 shim。同时,尝试将每个隔离事务包装到一个立即执行的匿名函数闭包中。我不是 WebSQL 人,但听起来您可能存在事务自动提交问题。

标签: javascript html indexeddb web-sql


【解决方案1】:

您要关闭交易吗?

我在测试中遇到了这些类型的错误,因为我没有在使用后关闭数据库和事务。

仅适用于已填充的浏览器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-13
    • 1970-01-01
    • 1970-01-01
    • 2020-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多