HTML5新增了一种被称为"indexedDB"数据库,是一种存储在客户端本地的NoSQL数据库。
三种事务:只读,读写,版本更新。
适配浏览器:
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;
连接数据库:
var dbConnection = indexDB.open("dbName", version);//数据库名称,版本号
dbConnection.onsuccess = function(e) {
idb = e.target.result;//数据库对象
};//连接成功执行
dbConnection.onerror= function(e) {};//连接失败执行
更新数据库和创建表:
dbConnection.onupgradeneeded = function(e) {
idb = e.target.result;
var tx = e.target.transaction;
var oldVersion = e.oldVersion;//更新后的老版本号
var newVersion = e.newVersion;//更新后的新版本号
var name = "user";
var optionalParams = {
keyPath:"id",//keyPath主键
autoIncrement:false//不自增
};
//创建表,这句代码执行后会在这个数据库下创建一个名为user的表
var store = idb.createObjectStore(name, optionalParams);
};//数据库版本更新/第一次创建数据库执行