IndexedDB
来源:互联网 发布:淘宝店没流量怎么办 编辑:程序博客网 时间:2024/05/17 04:24
IndexedDB是Indexed DataBase的简写,译为索引数据库。I
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
//以兼容方式获取indexedDBwindow.indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;//打开数据库var request = window.indexedDB.open(dbname,dbVersion);//dbname:数据库名称、dbVersion数据库版本//打开数据库成功触发的事件request.onsuccess = function(event){ //获取IndexedDB的IDBDatabase对象 var db = request.result;}//打开数据库失败触发的事件result.onerror = function(event) { //失败执行的语句}//版本编号更改时触发的事件,数据结构发生改变就会更新版本编号,第一次创建数据库也会触发此事件。request.onupgradeneeded = function(evnet) { var db = event.target.result; //创建objectStore var objectStore = db.createObjectStore(tbname,param); objectStore.creatIndex(indexName, indexTarget, {unique: ture|false});}//初始化交易var transaction = db.transaction(objectStoreName, 操作权限);//获取objectStorestore = transaction.objectStore(tbname);//新增数据request = store.add(data);request.onsuccess = function(e){ //....}request.onerror = function(e) { //....}//交易相关事件transaction.oncomplete = function(e){...}transaction.onerror = function(e){...}transaction.abort = function(e){...}//读取数据var request = store.get(key);request.onsuccess = function(event) { //....}request.onerror = function(event) { //....}//删除数据var request = store.delete(key);request.onsuccess = function(event) { //....}request.onerror = function(event) { //....}//清空数据store.clear();//删除数据库var request = window.indexedDB.deleteDatabase(dbName);request.onsuccess = function(event) { //....}request.onerror = function(event) { //....}//创建指针对象var index = store.index(keyword);var range = IDBKeyRange.bound();var order = IDBCursor.NEXT|PREV|NEXTUNIQUE|PREVUNIQUE;var request = index.openCursor(range, order);
补充:
IDBKeyRange对象有有几个方法:
lowerBound
IDBKeyRange.lowerBound(x); // >=x IDBKeyRange.lowerBound(x,ture); //>x
upperBound
IDBKeyRange.upperBound(x); //<=xIDBkeyRange.upperBound(x, true); //<x
bound
IDBKeyRange.bound(x,y); //>=x <=yIDBKeyRange.bound(x,y,ture,true); //>x <yIDBKeyRange.bound(x,y,ture,false);//>x <=yIDBKeyRange.bound(x,y,false,ture);//>=x <y
only
IDBKeyRange.only(x);
阅读全文
0 0
- IndexedDB
- IndexedDB
- IndexedDB
- IndexedDB
- indexedDB
- 使用 IndexedDB
- HTML5 IndexedDB
- 使用 IndexedDB
- 使用 IndexedDB
- indexedDB 数据库
- indexedDB 数据库
- html5 IndexedDB
- indexedDB入门
- H5 indexedDB
- IndexedDB入门
- indexedDB 数据库
- indexedDB 数据库
- indexedDB 数据库
- 设计模式-工厂模式(简单工厂模式+工厂方法模式)
- UVALive7749(Convex Contour)-计算几何分类讨论
- Unity入门操作_ UGUI_ 基础组件_024
- 自然语言处理之朴素贝叶斯
- asp.net MVC 上传文件 System.Web.HttpException- 超过了最大请求长度
- IndexedDB
- java8中HashMap相对于java7的改进
- 学习spark的动力
- 并查集
- 稀疏矩阵的简单描述
- Spring IOC容器理解
- iOS-足球小圈技术支持网址
- 怎样将excel的数据导入oracle
- SSM框架整合