`
bojustgo
  • 浏览: 541 次
文章分类
社区版块
存档分类
最新评论

IndexedDB:浏览器端数据库学习《一》

1.1 
阅读更多

先贴上两个参考链接:谷歌开发者社区IndexedDBjavascript标准参考教程

 

因为IndexedDB现在还处于实验阶段,API不是很丰富的同时,各个浏览器的支持也不尽相同。笔者建议,在localStorge能满足需求的情况下,就没必要非要整IndexedDB了。笔者也只是闲来无事,瞎捯饬玩儿罢了。

 

详细的说明及概述这里就不啰嗦了。参考前面提供的两个链接。你会知道更多。

 

 

var conn=indexedDB.open('test');
var conn=indexedDB.open('test',1);//版本号必须是大于0的整数,默认为0

 数据库打开后,会触发四个事件

  1. onupgradeneeded(数据第一次打开,或者数据库版本发生变化时触发)
  2. onsuccess(连接成功时触发)
  3. onerror(链接错误时触发)
  4. blocked(上一次连接未关闭)、

这里只要说说第一个事件,因为要在这个事件里创建数据库中的“对象仓库“(就相当于,我们要在test数据库中创建表)。之所以要在这里创建。是因为IndexedDB中对数据库的操作(添加、删除“对象仓库”,创建索引等)都要在回调中执行。

 

conn.onupgradeneeded = function(e) {
		console.log("第一次打开该数据库,或者数据库版本发生变化。");
		var db=e.target.result;
		if(!db.objectStoreNames.contains("firstOS")) {
			
			db.createObjectStore("firstOS");//创建数据“firstOS”对象仓库
		}
		console.log('创建成功!firstOS')
}
		

 对象仓库创建成功后,开始往里面放数据吧。这次我们在onsuccess回调中开启事务,并添加数据

	open.onsuccess = function(e) {
		console.log("数据库打开成功!");
		db = e.target.result; 
		
		var t = db.transaction(["firstOS"],"readwrite");//同时设置访问类型为 读写
		t.onabort=function(e){
			console.log('事务中断!')
		}
		t.oncomplete=function(e){
		
			console.log('事务完成')
		}
		t.onerror=function(e){
			console.log('事务开启失败!')
			console.dir(e);
		}
			var store = t.objectStore("firstOS");
			
			
			var data={'p':123}
			
			var req=store.add(data,1);
			
			req.onerror=function(e){
				console.log('添加数据失败!')
			}
			req.onsuccess =function(e){
				console.log('数据添加成功!')
				
				var cursor=e.target.transaction.objectStore('firstOS').openCursor();
				cursor.onsuccess = function(e) {
				var res = e.target.result;
				if(res) {
					console.log("Key", res.key);
					console.log("Data", res.value);
					res.continue();
				}
			}
			}
		
		
		
	}

 至此,使用indexedDB添加数据就完成了。对于更新、删除等API。参考链接中都有。尽情研究,尽情玩耍吧!

 哦 对了。整个过程 我是在火狐浏览器整的。别的浏览器没试过。

 

分享到:
评论

相关推荐

    IndexedDB:浏览器里内置的数据库

    IndexedDB是Web应用程序在浏览器中存储大量数据的一种强大工具,它是HTML5标准的一部分,为离线存储和复杂数据管理提供了支持。这篇博文将深入探讨IndexedDB的原理、用途以及如何在实际项目中应用。 IndexedDB是一...

    浏览器端indexeddb封装成更简洁易操作的接口

    "浏览器端 indexeddb 封装成更简洁易操作的接口" 这个标题表明我们讨论的主题是关于在Web浏览器环境中对IndexedDB数据库进行的一种优化处理,即创建一个用户友好的API,使得开发者能更方便、高效地进行数据存储和...

    IndexedDB增删改查插件,分别对增删改查进行了封装,调用对应的函数即可

    在浏览器上有两种数据库:webSQL和IndexedDB。但是如果在浏览器上需要用到数据库一般会使用Indexed DB数据库,webSQL基本上已经废弃了,具体原因小伙伴可以下来自己查查。 IndexedDB 是一种底层 API,用于在客户端...

    IndexedDB:索引数据库示例

    IndexedDB 是一种在浏览器中存储大量结构化数据的离线存储技术,它是Web应用程序可以使用的本地数据库。这个技术允许开发者创建复杂的数据库,支持索引,进而实现快速的数据检索。在本文中,我们将深入探讨IndexedDB...

    基于 HTML5 IndexedDB 接口的离线数据库演示.zip

    其中,IndexedDB 是一个重要的离线存储解决方案,允许开发者在浏览器中存储大量结构化数据,即使在网络不可用时也能访问。这个压缩包"基于 HTML5 IndexedDB 接口的离线数据库演示.zip"提供了一个示例,帮助我们理解...

    y-indexeddb:用于Yjs的IndexedDB数据库适配器

    使用IndexedDB数据库适配器将共享数据持久存储在浏览器中。 下次您加入会话时,所做的更改仍然存在。 最小化服务器和客户端之间交换的数据量使离线编辑成为可能入门您可以找到在线发布的完整文档: 。 npm i --save...

    IndexedDB, 支持浏览器缓存

    IndexedDB,支持浏览器缓存

    jungle-db:适用于NodeJS(LMDB和LevelDB)和浏览器(IndexedDB)的简单数据库抽象层,支持高级功能,例如具有读取隔离和辅助索引的事务

    丛林数据库 JungleDB是NodeJS(LMDB或LevelDB)和浏览器(IndexedDB)的简单数据库抽象层,支持高级功能,例如具有读取隔离和辅助索引的事务。快速开始使用jungle-db的最简单选择是从npm存储库中安装它。 npm ...

    indexeddb-intro:IndexedDB教程简介

    IndexedDB简介:浏览器内数据库 应用程序需要数据。 对于大多数Web应用程序,数据存储在服务器上进行组织和管理,并通过网络请求将其提供给客户端。 随着浏览器的功能越来越强大,用于存储和操作应用程序数据的选项...

    indexedDB:具有indexedDB的任务管理器

    JavaScript是网页开发的主流语言,也是实现浏览器端功能如IndexedDB的关键语言。 **内容展开:** 1. **IndexedDB简介:** IndexedDB是一个NoSQL数据库,提供键值对存储,支持复杂查询。相比于Cookie和Web Storage...

    study_indexeddb:【学习】学习IndexedDB的示例项目

    IndexedDB 的应用示例。 我可以用吗? 添加对笨蛋浏览器的支持;) 你想了解更多吗? 去做 自动化测试 * * * 。 可能是一个有用的指南。 使用 Observable 简化 API: * 创建一个表示数据集的 Hash; * 观察...

    前端存储之indexedDB例子

    IndexedDB是浏览器提供的一种客户端存储解决方案,它允许开发者在用户的浏览器上存储大量的结构化数据,并提供了高效的数据检索能力。本篇文章将深入探讨IndexedDB的基本概念、API使用以及在实际开发中的应用场景。 ...

    indexedDB实例

    IndexedDB是HTML5的一项重要功能,它提供了一个客户端数据库系统,用于在用户的浏览器中存储大量结构化数据。这个本地存储机制不同于传统的Cookie或localStorage,它允许开发者创建复杂的数据库索引,进行高效的数据...

    非常简单的indexedDB例子

    IndexedDB 是一种在浏览器中存储大量结构化数据的离线存储解决方案,支持索引,使得数据检索快速高效。它是Web应用程序本地存储的一种重要技术,尤其适用于需要处理大量数据的复杂应用,比如离线应用、数据密集型...

    HTML5本地存储——IndexedDB

    IndexedDB是一种非关系型数据库,它允许在浏览器中存储大量结构化数据,并支持索引,从而可以高效地查询这些数据。与传统的Web存储如Cookie和localStorage相比,IndexedDB提供了更高级别的数据管理能力。Cookie通常...

    用于管理您的客户端缓存是IndexedDB微小封装支持版本控制和maxage

    IndexedDB 是一种在浏览器中存储大量结构化数据的低级 API,它提供了索引和查询功能,非常适合客户端缓存。这个名为 "money-clip" 的项目似乎是一个针对 IndexedDB 的轻量级封装库,旨在简化数据管理和缓存策略,...

    logs2indexeddb:该实用程序可将所有JavaScript控制台日志连续保存到IndexedDB数据库中

    logs2indexeddb 该实用程序可将所有JavaScript控制台日志连续保存到IndexedDB数据库中。 关闭浏览器选项卡后,您可以访问console。*日志。 对于需要在一段时间后分析Web客户端日志的开发人员而言,此实用程序是一个...

    在windows8、Android、IOS上使用indexedDB

    IndexedDB 是一种在浏览器中存储大量结构化数据的低级离线存储解决方案,支持索引,使得高效查询成为可能。这个技术对Web应用程序尤其有用,因为它允许开发人员创建丰富的、功能丰富的应用程序,即使在没有网络连接...

    html5 web IndexedDB通讯录的实现

    HTML5的IndexedDB是Web应用程序的一个重要特性,它提供了一个在客户端存储大量结构化数据的本地数据库,支持离线应用和高性能的数据检索。这个通信录的实现就是利用IndexedDB进行数据管理和交互的一个实例。 首先,...

Global site tag (gtag.js) - Google Analytics