首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在IE 10/11中使用数组作为indexedDB keyPaths

在IE 10/11中使用数组作为indexedDB keyPaths
EN

Stack Overflow用户
提问于 2013-12-20 19:43:57
回答 1查看 2.3K关注 0票数 7

我有一个数组作为我的键盘使用indexedDB,它运行良好的Chrome和火狐,但当我试图添加/放置使用IE,它给我一个DataError。

代码语言:javascript
复制
var request = window.indexedDB.open("MyTestDatabase");

request.onsuccess = function(event) {
    var database = event.target.result;
    var transaction = database.transaction(["document"], "readwrite");
    var objectStore = transaction.objectStore("document");
    var request = objectStore.put({title: 'MyDoc', version: 0});
    request.onsuccess = function() {
        console.log('document added');
    };
    request.error = function(error) {
        console.log(JSON.stringify(error));
    };                
    transaction.oncomplete = function() {
        console.log('transaction complete');
    };
    transaction.onerror = function(error) {
        console.log(JSON.stringify(error));
    };
};

request.onupgradeneeded = function(event) {
    event.target.result.createObjectStore("document", {keyPath: ['title', 'version']});
};

错误截图:

如何保留我的双keyPath并使它与IE一起工作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-16 17:31:25

目前解决这个问题的唯一方法是从数组中创建一个字符串,并在Kyaw提到的键处使用它。

代码语言:javascript
复制
request.onupgradeneeded = function(event) {
    event.target.result.createObjectStore("document", {keyPath: ['id']});
};

示例中的id现在必须是包含标题和版本的串联字符串。有些像:MyDoc_0。但是,您仍然可以存储标题和版本字段,这样就可以轻松地访问它们,而不必拆分id字符串。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20710884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档