4

我正在使用为 Linux Mint 构建的 Firefox 21。尝试从脚本标记中打开 IndexedDB 数据库时,我收到 InvalidStateError。但是,在尝试从 JavaScript 控制台打开数据库时,我没有收到错误消息。

下面的代码给出了一个错误

<html>
    <body>
        <script src="http://code.jquery.com/jquery-1.10.0.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function(){
                indexedDB.open("MyNewDatabase");
            });
         </script>
    </body>
</html>

indexedDB.open("MyNewDatabase");在控制台中正确输入时会返回一个IDBOpenDBRequest对象。有什么想法可能导致这种奇怪的行为吗?

在 Firefox 中打开 IndexedDB 时,我知道Firefox 中的 Invalid state Error for Indexed DbInvalidStateError,但是这两个问题/答案都无法帮助我找出问题所在。

4

3 回答 3

2

这个回复可能为时已晚,没有用,但是您是否检查过 about:config 中的 dom.indexedDB.enabled 首选项是否为真?

我最终阅读了 Gecko indexedDB 源代码,发现我在过去出于未知原因将该首选项翻转为 false!

于 2013-08-29T12:49:27.970 回答
0

在 Chrome 和 Firefox 中...您必须包含版本号。在 IE10 中......你不能。IE10 进一步使用前缀“msIndexedDB”,事务枚举的使用同样与微软不一致。某些版本的 IE 使用 MS 前缀枚举值,其他版本使用字符串。嗯。

于 2013-10-03T18:57:34.007 回答
0

你有没有将版本作为第二个参数传递给 indexedDB.open?我记得我在网上发现的一些随机对话,其中决定将其设为非可选等。我相信规范说如果没有提供它默认为 1 但你可能想至少看看会发生什么。

于 2013-05-31T12:42:30.387 回答