IndexedDB
小结
- 容量大,nosql,同域共享
- api复杂
- 可建立索引
存储大小: 桌面端50M,移动端5M
使用
var request = window.indexedDB.open('db', 1);// 打开名字为db的数据库,没有的话会创建一个
var db;
// onsuccess 监听数据库打开事件 每次打开成功都会触发
request.onsuccess = function (e) {
db = request.result;
console.log('数据库打开成功')
}
// onupgradeneeded 只在创建的时候触发,是唯一能声明表结构的地方
request.onupgradeneeded = function (e) {
db = e.target.result;
var objectStore;
if(!db.objectStoreNames.contains('person')) {
// createObjectStore 只能在这个onupgradeneeded中使用
objectStore = db.createObjectStore('person', { keyPath: 'id' })
}
console.log('person created')
}
插入数据
// 第一个参数就是表 可以写入多个表
// 第二个参数是模式 readwrite表示:可读可写
db.transaction(['person'