HTML5本地存储之 indexedDB 完整实例及效果图展示
2015-04-20 16:47
513 查看
浏览器indexedDB本地存储效果 (读者可使用支持indexedDB的浏览器测试效果,如:chrome...)
初始设计页面:
--->打开数据库 如数据库不存在,则执行创建过程。如下图,点击 打开数据库 后,创建了user数据库和info表:
--->添加数据 录入信息后,点击 添加数据 ,则向info表中插入 相应数据:
--->获取数据 从info表中通过游标遍历数据,并显示在页面上:
--->删除数据库 删除整个表info和数据库user。
完整代码如下:
初始设计页面:
--->打开数据库 如数据库不存在,则执行创建过程。如下图,点击 打开数据库 后,创建了user数据库和info表:
--->添加数据 录入信息后,点击 添加数据 ,则向info表中插入 相应数据:
--->获取数据 从info表中通过游标遍历数据,并显示在页面上:
--->删除数据库 删除整个表info和数据库user。
完整代码如下:
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>HTML5 - IndexedDB</title> <script type="text/javascript"> var db; var request; var objectStore; function _create(dbName){ request=indexedDB.open(dbName,1); request.onerror = function () { alert("打开数据库失败:"+event.target.message); } request.onsuccess = function (event) { alert("打开数据库成功!"); db=event.target.result; var transaction = db.transaction(["info"], "readwrite"); objectStore = transaction.objectStore("info"); } request.onupgradeneeded = function(event) { alert("版本变化!"); db = event.target.result; objectStore = db.createObjectStore("info", {keyPath: "userId",autoIncrement: true}); } } function _delete(dbName){ try{ request=indexedDB.deleteDatabase(dbName); request.onerror = function () { alert("删除数据库失败:"+event.target.message); } request.onsuccess = function (event) { alert("删除数据库成功!"); } }catch(e){ alert(e.getMessage); } } function _get (argument) { var p=document.getElementById("display"); p.innerHTML="";//获取数据前先清理一下页面已显示的数据 if(!db){ alert("请打开数据先!"); return false; } var store = db.transaction("info").objectStore("info"); var keyRange = IDBKeyRange.lowerBound(0);//规定keyRange从0开始 var cursorRequest = store.openCursor(keyRange);//按照keyRange的设置开启游标 cursorRequest.onsuccess = function (e) { var result = e.target.result; if (!!result == false) return; _render(result.value); result.continue();//这边执行轮询读取 }; cursorRequest.onerror = function (e) { alert("数据检索失败!"); }; } function _render (e) { var p=document.getElementById("display"); p.innerHTML+="姓名:"+e.name+" 年龄:"+e.age+" 性别:"+e.xb+"<br />"; } function _add (argument) { var name=document.getElementById("name").value; var age=document.getElementById("age").value; var xb,flag=document.getElementById("nan").checked; if(flag) xb="男"; else xb="女"; var detail={ name:name, age:age, xb:xb } if(!db){ alert("请打开数据先!"); return false; } var transaction = db.transaction(["info"], "readwrite"); objectStore = transaction.objectStore("info"); objectStore.add(detail); alert("添加成功!"); } </script> </head> <body> <small>添加前请先打开数据库(如数据库不存在则执行创建过程)</small><br /><br /> <button onclick="_create('user')">打开数据库</button> <button onclick="_delete('user')">删除数据库</button><br /><br /> 姓名:<input type="text" id="name"><br /> 年龄:<input type="number" id="age" min=1><br /> 性别:<br /> 男:<input type="radio" id="nan" name="xb" value="male" checked> 女:<input type="radio" id="nv" name="xb" value="female"><br /> <button onclick="_add()">添加数据</button> <button onclick="_get()">获取数据</button><br /> <p id="display"></p> </body> </html>
相关文章推荐
- HTML5 indexedDB前端本地存储数据库实例教程
- HTML5本地存储——IndexedDB(二:索引)
- JavaScript本地存储实践(html5的localStorage和ie的userData)的实例页面
- Html5 web本地存储实例详解
- HTML5本地存储——IndexedDB(一:基本使用)
- html5 操作本地数据库 完整实例
- html5本地存储之indexedDb
- HTML5本地存储——IndexedDB(二:索引)
- HTML5本地存储——IndexedDB(一:基本使用)
- HTML5本地存储——IndexedDB(一:基本使用)
- 关于HTML5本地存储实例
- HTML5本地存储——IndexedDB(一:基本使用)
- HTML5本地存储实例页面
- JavaScript本地存储实践(html5的localStorage和ie的userData)的实例页面
- 微信小程序服务器请求和上传数据,上传图片并展示,提交表单完整实例代码附效果图
- HTML5本地存储——IndexedDB(一:基本使用)
- HTML5本地存储——IndexedDB(二:索引)
- HTML5本地存储之IndexedDB
- HTML5本地存储——IndexedDB(二:索引)
- HTML5本地存储——IndexedDB(一:基本使用)