http://www.ruanyifeng.com/blog/2018/07/indexeddb.html
IndexedDBtest.htm内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | <!DOCTYPE html> <html > <head> <title></title> <script src= "js/indexDb.js" type= "text/javascript" ></script> <script type= "text/javascript" > function init() { var dbParams = new Object(); dbParams.db_name = "SISO" ; dbParams.db_version = "2" ; dbParams.db_store_name = "Test" ; dbObject.init(dbParams); } function Tinsert() { // 填入初始值 dbObject.put({ title: "Quarry Memories" , author: "Fred" , isbn: 123456 }, 1); dbObject.put({ title: "Water Buffaloes" , author: "Fred" , isbn: 234567 }, 2); dbObject.put({ title: "Bedrock Nights" , author: "Barney" , isbn: 345678 }, 3); } function Tselect() { dbObject. select (3); } function Tupdate() { dbObject.put({ title: "Quarry wu" , author: "lex" , isbn: 123456 }, 1); } function Tdelete() { dbObject.delete(3); } function Tclear() { dbObject.clear(); } </script> </head> <body οnlοad= " init() " > <input type= "button" value= "新增几条数据" οnclick= " Tinsert(); " /> <input type= "button" value= "查找一条记录" οnclick= " Tselect(); " /> <input type= "button" value= "删除一条记录" οnclick= " Tdelete(); " /> <input type= "button" value= "更新一条记录" οnclick= " Tupdate(); " /> <input type= "button" value= "清除所有表数据" οnclick= " Tclear(); " /> </body> </html> |
indexDb.js内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | (function(){ var dbObject = {}; dbObject.init = function( params ){ this .db_name = params .db_name; this .db_version = params .db_version; this .db_store_name = params .db_store_name; if (!window.indexedDB) { window.alert( "你的浏览器不支持IndexDB,请更换浏览器" ); } var request = indexedDB.open( this .db_name, this .db_version); //打开数据失败 request.onerror = function( event ) { alert( "不能打开数据库,错误代码: " + event .target.errorCode); }; request.onupgradeneeded = function( event ) { this .db = event .target.result; this .db.createObjectStore(dbObject.db_store_name); }; //打开数据库 request.onsuccess = function( event ) { //此处采用异步通知. 在使用curd的时候请通过事件触发 dbObject.db = event .target.result; }; }; /** * 增加和编辑操作 */ dbObject.put = function( params ,key) { //此处须显式声明事物 var transaction = dbObject.db.transaction(dbObject.db_store_name, "readwrite" ); var store = transaction.objectStore(dbObject.db_store_name); var request = store.put( params ,key); request.onsuccess = function(){ alert( '添加成功' ); }; request.onerror = function( event ){ console.log( event ); } }; /** * 删除数据 */ dbObject.delete = function(id) { // dbObject.db.transaction.objectStore is not a function request = dbObject.db.transaction(dbObject.db_store_name, "readwrite" ).objectStore(dbObject.db_store_name).delete(id); request.onsuccess = function(){ alert( '删除成功' ); } }; /** * 查询操作 */ dbObject. select = function(key) { //第二个参数可以省略 var transaction = dbObject.db.transaction(dbObject.db_store_name, "readwrite" ); var store = transaction.objectStore(dbObject.db_store_name); if (key) var request = store. get (key); else var request = store.getAll(); request.onsuccess = function () { console.log(request.result); } }; /** * 清除整个对象存储(表) */ dbObject.clear = function() { var request = dbObject.db.transaction(dbObject.db_store_name, "readwrite" ).objectStore(dbObject.db_store_name).clear(); request.onsuccess = function(){ alert( '清除成功' ); } }; window.dbObject = dbObject; })(); |
结果如下:
添加:
查询:
更新:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗