HTML5本地存储之 indexedDB 完整实例及效果图展示
来源:互联网 发布:java编写管理系统 编辑:程序博客网 时间:2024/06/02 12:05
浏览器indexedDB本地存储效果 (读者可使用支持indexedDB的浏览器测试效果,如:chrome...)
初始设计页面:
--->打开数据库 如数据库不存在,则执行创建过程。如下图,点击 打开数据库 后,创建了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="男";elsexb="女";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>
1 0
- HTML5本地存储之 indexedDB 完整实例及效果图展示
- html5本地存储之indexedDb
- HTML5本地存储——IndexedDB
- HTML5本地存储——IndexedDB入门
- HTML5 indexedDB前端本地存储数据库实例教程
- 本地数据存储之 IndexedDB 实践
- HTML本地存储之IndexedDB(1)
- 本地数据存储之 IndexedDB 基本封装
- HTML5本地存储——IndexedDB(一:基本使用)
- HTML5本地存储——IndexedDB(二:索引)
- HTML5本地存储——IndexedDB(一:基本使用)
- HTML5本地存储——IndexedDB(二:索引)
- HTML5本地存储——IndexedDB(一:基本使用)
- HTML5本地存储——IndexedDB(一:基本使用)
- HTML5本地存储——IndexedDB(二:索引)
- HTML5本地存储——IndexedDB(一:基本使用)
- HTML5本地存储——IndexedDB(一:基本使用)
- HTML5本地存储——IndexedDB(二:索引)
- java环境配置
- Mysql 插入数据库太大导致异常
- 一致性哈希算法及其在分布式系统中的应用
- AppStore加急审核流程
- 代理传值,纯代码
- HTML5本地存储之 indexedDB 完整实例及效果图展示
- http://blog.csdn.net/djxiaoyu_haha/article/details/38315341
- iOS简单画折线图
- Mac 下清除文件夹中的.svn文件
- 3-8
- 爬虫的javascript支持
- Android工程下单独运行java main程序的方法
- 高性能I/O设计模式Reactor和Proactor
- Unity3D游戏开发之仿仙剑奇侠传角色控制效果