indexedDB是一种使用浏览器存储大量数据的方法.它创造的数据可以被查询,并且可以离线使用. IndexedDB对于那些需要存储大量数据,或者是需要离线使用的程序是非常有效的解决方法. indexedDB也遵从同源协议(same-origin policy). 所以你只能访问同域中存储的数据,而不能访问其他域的。
其简单而言, indexedDB就是一个基于事务操作的key-value型数前端数据库.其API大多是异步的 IndexedDB 是一个基于 JavaScript 的面向对象的事务型数据库。有了 LocalStorage
和Cookies
,为什么还要推出 indexedDB
呢?其实对于在浏览器里存储数据,可以使用 cookies
或LocalStorage
,但它们都是比较简单的技术,而 IndexedDB
提供了类似数据库风格的数据存储和使用方式。
// 数据库demo
var testDB = window.indexedDB.open("testDB", 4);
var db;
testDB.onsuccess = function(event){
console.log("打开数据库");
db = event.target.result;
//创建表
var objectStore = database.createObjectStore("students", { keyPath: rollNo });
//创建事物
var tran = db.transaction(["students"],"readwrite");
//获取表
var objectStore = tran.objectStore("students");
//往表添加数据
objectStore.add({rollNo: '1', name: 'mxp'});
//根据主键获取数据
var mxp = objectStore.get('1');
//获取成功回调
mxp.onsuccess = function(event){
console.log("name : "+mxp.result.name);
};
}