连接数据库
使用 indexedDB 数据库的时候,首先需要预定义 indexedDB 数据库、该数据库所用的事务、 IDBKey 对象和游标对象。定义如下:
window.indexedDB =
  window.indexedDB ||
  window.webkitIndexedDB ||
  window.mozIndexedDB ||
  window.msIndexedDB;
window.IDBTransaction =
  window.IDBTransaction ||
  window.webkitIDBTransaction ||
  window.msIDBTransaction;
window.IDBKeyRange =
  window.IDBKeyRange || window.webkitIDBKeyRange || window.msIDBKeyRange;
window.IDBCursor =
  window.IDBCursor || window.webkitIDBCursor || window.msIDBCursor;
使用库之前,先连接库:
window.indexedDB =
  window.indexedDB ||
  window.webkitIndexedDB ||
  window.mozIndexedDB ||
  window.msIndexedDB;
window.IDBTransaction =
  window.IDBTransaction ||
  window.webkitIDBTransaction ||
  window.msIDBTransaction;
window.IDBKeyRange =
  window.IDBKeyRange || window.webkitIDBKeyRange || window.msIDBKeyRange;
window.IDBCursor =
  window.IDBCursor || window.webkitIDBCursor || window.msIDBCursor;
function connectDatabase() {
  var dbName = 'indexedDBTest'; // 数据库名
  var dbVersion = 20220430; // 版本号
  var idb;
  var dbConnect = indexedDB.open(dbName, dbVersion);
  dbConnect.onsuccess = function (e) {
    idb = e.target.result;
    console.log('数据库连接成功');
  };
  dbConnect.onerror = function (e) {
    console.log('连接 indexedDB 数据库失败');
  };
}
indexedDB.open() 会返回一个 IDBOpenRequest 对象,代表一个请求连接数据库的请求对象。
连接成功时,会取得事件对象的 event.target.result 属性值,该属性值为一个 IDBDatabase 对象,代表连接成功的数据库对象。
关闭数据库连接
在 API 中,使用 close() 关闭数据库连接。
idb.close();
数据库关闭后,不能再做其它对数据库的操作,否则会导致浏览器抛出异常。