<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <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>
indexedDB简单例子
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
上一篇:Data I/O in iOS
下一篇:ArrayList06Print
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
python协程(asyncio)实现爬虫例子
使用python协程实现异步爬取网站。
python 协程 爬虫 -
详解IndexedDB
摘自MDN社区上的一篇关于IndexedDB的文章,详细介绍IndexedDB的基础概念和用法,是很好的入门文章。
职场 休闲 HTML5 IndexedDB 简易本地数据库 -
EJB简单例子
Ejb 的首次搭建及向外发布接口 一环境搭建 *jboss jems-installer-1.2.0.GA(jboss安装文件 ,jb
EJB JBoss Java JDK Web -
ligerUiGrid简单例子
效果图: <!DOCTYPE html><
ligerUi javascript html json -
LightGBM简单例子
da和pip安装库之间的区别 代码 from lightgbm import LGBMClassifier X = [[1,2],[3,4],[5,6],[7,8],[9,10]] y
cnblogs html Python python