html5 indexDB
来源:互联网 发布:java获取所有interface 编辑:程序博客网 时间:2024/05/23 23:01
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>indexDB</title> <script type="text/javascript" src="http://www.jeasyuicn.com/cron/jquery.min.js"></script> <script type="text/javascript"> var db = null; //兼容火狐和谷歌写法获得indexedDB对象 if (!window.indexedDB) { window.indexedDB = window.mozIndexedDB || window.webkitIndexedDB; } /** * 创建和打开数据库(不存在创建) * test:数据库名称 * 3:数据库的版本号 * onupgradeneeded:跟新数据库函数,版本号改变后会被调用 */ var request = indexedDB.open("test",3); request.onupgradeneeded = function(event) { alert(event.oldVersion); db = request.result; if (db.objectStoreNames.contains('books')) { db.deleteObjectStore('books'); } /*** * books:数据表 * keyPath:主键 * createIndex:创建索引分别是by_title by_author(在书的数据表中,可以根据书的名字和作者来进行查询) * unique: true:过滤重复 */ var store = db.createObjectStore("books", {keyPath: "isbn"}); var titleIndex = store.createIndex("by_title", "title", {unique: true}); var authorIndex = store.createIndex("by_author", "author"); /** *进行数据插入 */ store.put({title: "Quarry Memories", author: "Fred", isbn: 123456,other:"..ceshi...."}); store.put({title: "Water Buffaloes", author: "Fred", isbn: 234567}); store.put({title: "Bedrock Nights", author: "Barney", isbn: 3456780000000000000}); }; //成功 //异步 request.onsuccess = function() { db = request.result; }; //通过事务、索引获取数据 function getDatas() { /** * */ var tx = db.transaction("books", "readonly"); var store = tx.objectStore("books"); var index = store.index("by_title"); var request = index.get("Bedrock Nights"); request.onsuccess = function() { var matching = request.result; if (matching !== undefined) { // A match was found. $("#d1").html(matching.isbn+";"+matching.title+";"+matching.author); } else { // No match was found. $("#d1").html(123); } }; } //通过事务、游标、索引获取数据 function getDatas1() { var tx = db.transaction("books", "readonly"); var store = tx.objectStore("books"); var index = store.index("by_author"); var request = index.openCursor(IDBKeyRange.only("Fred")); var tmp = ""; request.onsuccess = function(event) { var cursor = request.result;//也可以写成var cursor = event.target.result; if (cursor) { tmp+=cursor.value.isbn+";"+cursor.value.title+";"+cursor.value.author; cursor.continue(); } else { $("#d1").html('错误...'); } $("#d1").html(tmp); }; } function deleteDb() { var deleteDbRequest = indexedDB.deleteDatabase('test'); deleteDbRequest.onsuccess = function (event) { alert('success...'); }; deleteDbRequest.onerror = function (e) { alert('error...'); }; } </script></head><body><button onclick="getDatas();">获取数据</button><br/><button onclick="getDatas1();">获取数据1</button><br/><button onclick="deleteDb();">删除数据库</button><br/><div id="d1"></div></body></html>
0 0
- html5 indexDB
- HTML5 IndexDB的Demo
- html5使用indexdb
- html5的indexDB
- html5 indexDB DEMO(一)
- html5之indexdb(nosql存储)
- indexDB:html5本地数据库存储
- indexDB
- html5 数据存储之indexDB(一)
- HTML5本地数据库--IndexDB的基本操作
- html5本地存储 Web Storage + indexDB
- HTML5 IndexDB 用户本地化存储离线数据库的使用
- web前端-在迷惘中的探索HTML5(二)本地存储之IndexDB
- About IndexDB
- About IndexDB
- IndexDB 使用问题
- indexDB的概念
- html5d的indexDB使用
- learn python the hard way(笨办法学python) 练习50
- 《编写高质量iOS与OS X代码的52个有效方法》之第二章要点
- mongodb 日志过大
- 第四届_连号区间数
- android并发网络请求的处理
- html5 indexDB
- 如何在Xib中设置Button的属性(圆角以及背景颜色)
- 汇编学习笔记之寄存器综述
- jsp 编辑word:jsp word编辑 文件传输错误,请检查你的网络
- Spotify联姻Google,将后端服务迁移入云
- warning: libssl.so.1.0.0, needed by ……lib/libcurl.so, not found (try using -rpath or -rpath-link)
- Android studio使用基础
- Android 版本号 与 API Level 版本 对应表
- 宏、内联函数与普通函数的区别