概述
- IndexedDB 是一种浏览器端提供的数据库
- 各浏览器最低存储大小为 250M
- 除字符串外,IndexedDB 还可以存储二进制数据
- IndexedDB 同样受同域限制,每个域名下的脚本只能访问在自身域名下创建的数据库
连接数据库 - indexedDB.open(db_name, db_version)
db_version 为一个大于 0 的正整数,如果对应的数据库不存在,则会创建该数据库。
const openRequest = indexedDB.open('test, 1);
打开数据库可能触发的 4 种事件
- success
- error
- upgradeneeded - 数据库创建或版本号发生变更时触发
- blocked - 上一次的数据库连接未关闭时触发
const openRequest = indexedDB.open('test', 1);
let db;
openRequest.onupgradeneeded = function (e) {
console.log('Upgrading...');
};
openRequest.onsuccess = function (e) {
console.log('Success');
db = e.target.result;
};
openRequest.onerror = function (e) {
console.log('Error');
console.dir(e);
};
indexedDB 实例对象的方法
db.createObjectStore - 创建对象仓库
if (db.objectStoreNames.contains('email_list') {
db.createObjectStore('email_list', { keyPath: 'email' });
}
db.objectStoreNames - 返回对象仓库名称列表
概述
连接数据库 - indexedDB.open(db_name, db_version)
db_version 为一个大于 0 的正整数,如果对应的数据库不存在,则会创建该数据库。
打开数据库可能触发的 4 种事件
indexedDB 实例对象的方法
db.createObjectStore - 创建对象仓库
db.objectStoreNames - 返回对象仓库名称列表