Skip to content

IndexedDB #28

@Calerme

Description

@Calerme

概述

  • 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 - 返回对象仓库名称列表

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions