IndexedDB基本使用——笔记
时间:2021-07-01 10:21:17
帮助过:7人阅读
DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body></body>
<script type="text/javascript">
// 获取indexdb对象,为了兼容性的写法
// 1、获取对象
window.indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || 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;
//2.定义数据库的基本信息
var dbInfo = {
dbName: ‘testdb‘,
dbVersion: ‘1001‘,
dbInstance: {}
};
//3.创建数据库
var dbContent = window.indexedDB.open(dbInfo.dbName, dbInfo.dbVersion);
//数据库版本更新
dbContent.onupgradeneeded = function(e){
console.log(‘数据库版本号修改了‘);
//4.创建数据库表(store)
var _db = e.target.result; //获取数据库
var storeNames = _db.objectStoreNames; //获取所有表
if(!storeNames.contains(‘cart‘)){
// 创建表,参数:表名,表结构
_db.createObjectStore(‘cart‘, {
keyPath: ‘goodsId‘, //索引
autoIncrement: true
})
}
}
//数据库连接成功
dbContent.onsuccess = function(e) {
console.log(‘数据库连接成功‘)
//5.增删查改操作写在这里
var _db = e.target.result;
var trans = _db.transaction([‘cart‘], ‘readwrite‘);
var store = trans.objectStore(‘cart‘);
//基于请求的,注意一次只能做一个操作
//添加数据
// var req = store.add({
// goodsId: ‘102‘,
// price: 999.99,
// name: ‘衬衫‘,
// size: ‘M‘
// });
//修改数据
// var req = store.put({
// goodsId: ‘102‘,
// price: 666,
// name: ‘衣服‘,
// size: ‘XXL‘
// });
//删除数据
//var req = store.delete(‘100‘);
//删除所有数据
//var req = store.clear();
// req.onsuccess = function(e){
// console.log(e);
// console.log(‘操作数据成功‘);
// }
//
// req.onerror = function(e){
// console.log(‘操作数据失败‘ + e);
// }
// 查询所有数据
// var cursor = store.openCursor();
// var data = [];
// cursor.onsuccess = function(e){
// console.log(e)
// var result = e.target.result;
// if(result && result !== null){
// data.push(result.value);
// }
// console.log(data)
// }
// cursor.onerror = function(e){
// console.log(e);
// }
}
//数据库连接失败
dbContent.onerror = function(e){
alert(‘连接数据库失败‘);
}
</script>
</html>
View Code
IndexedDB基本使用——笔记
标签: