indexeddb

HTML5 客户端数据库简易使用:IndexedDB

狂风中的少年 提交于 2020-03-19 14:18:35
IndexedDB介绍 IndexedDB是一种能在浏览器中持久的存储结构化数据的对象数据库,并且为web应用提供了丰富的查询能力。 相比于Web SQL数据库它更加简单,而且官方标准中关于Web SQL的工作已经停止。 相比于Web Storage,IndexedDB存储空间是无上限且永久的。 创建数据库 IndexedDB是按域名分配独立空间,一个独立域名下可以创建多个数据库,每个数据库可以创建多个对象存储空间(表/对象仓库),一个对象存储空间可以存储多个对象数据(索引的字段)。 1 2 3 4 5 6 7 8 9 10 11 function openDB(){ var request = indexedDB.open(dbName,dbVer);//如果数据库存在就打开,如果数据库不存在就去新建 request.onsuccess = function(e){ } request.onerror = function(e){ } //创建新数据库,或者数据库版本号被更改的时候出发onupgradeneeded事件,并执行回调函数 request.onupgradeneeded = function(e){ } } indexedDB.open方法用于创建数据库,里面传两个参数(数据库名,数据库版本),request.onupgradeneeded方法在创建新数据库

前端开发数据存储技术

一个人想着一个人 提交于 2020-03-09 04:40:40
浏览器端: cookie WebStorage(localStorage、sessionStorage) indexedDB 服务器端: session cookie Cookie 是小甜饼的意思。顾名思义,cookie 确实非常小,它的大小限制为4KB左右。cookie只能保存字符串类型,以文本的方式。 它的主要用途有保存登录信息,比如你登录某个网站市场可以看到“记住密码”,这通常就是通过在 Cookie 中存入一段辨别用户身份的数据来实现的。 #session机制: 当服务器收到请求需要创建session对象时,首先会检查客户端请求中是否包含sessionid。如果有sessionid,服务器将根据该id返回对应session对象。如果客户端请求中没有sessionid,服务器会创建新的session对象,并把sessionid在本次响应中返回给客户端。通常使用cookie方式存储sessionid到客户端,在交互中浏览器按照规则将sessionid发送给服务器。如果用户禁用cookie,则要使用URL重写,可以通过response.encodeURL(url) 进行实现;API对encodeURL的结束为,当浏览器支持Cookie时,url不做任何处理;当浏览器不支持Cookie的时候,将会重写URL将SessionID拼接到访问地址后。

HTML5项目笔记10:使用HTML5 IndexDB设计离线数据库

为君一笑 提交于 2020-02-26 04:32:31
之前的文章( http://www.cnblogs.com/wzh2010/archive/2012/05/22/2514017.html )里面描述了HTML5 离线数据存储的Web SQL,一个基于SQLite 的离线数据库,不过 W3C 的 WebDatabase 规范中说这份规范不再维护了,取而代之的是IndexDB,一个NoSQL类型的数据库。 Html5Rocks把他们的优缺点做了比对,IndexDB综合看来有如下优点: 允许快速索引和搜索的对象,所以在HTML5 的 web应用程序中, 你可以有效管理你的数据和高效率的读/写操作。 W3C主推的离线数据库类型,逐渐替代Web SQL类型数据库,更新效率高并不断完善。 工作在异步模式下执行每步操作。让你使用高效率的的JavaScript事件驱动模块 现在我们来尝试使用这个IndexDB: 1、初始化声明 1 var dbName = "H5AppDB"; //数据库名称 2 var dbVersion = 2.0; //数据库版本 3 var tablename = "todo"; //表名 View Code 2、初始并实例化IndexDB数据上下文 1 //定义一个IndexDB方法集合对象 2 var H5AppDB = {}; 3 4 //实例化IndexDB数据上下文,这边根据浏览器类型来做选择 5 var

12306 抢票系列之只要搞定RAIL_DEVICEID的来源,从此抢票不再掉线(下)

 ̄綄美尐妖づ 提交于 2020-02-18 12:43:27
模拟伪装 现在已经还原了算法的实现逻辑,下一步就是如何更好地伪造自己,本文提供 临时设置 的实现方式,方便在不修改之前复现代码的基础上实现扩展,当然也可以 直接在还原算法源码中写入伪造代码 . 值得注意的是,这种 Object.defineProperty 方式只会临时生效而且仅仅针对使用 js 代码获取对象属性的值,并不会真正修改对象属性! 设置用户代理 /** * 设置用户代理,检测方式: navigator.userAgent */ chromeHelper . setUserAgent = function ( userAgent ) { if ( ! userAgent ) { userAgent = "Mozilla5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit537.36 (KHTML, like Gecko) Chrome80.0.3987.87 Safari537.36" ; } Object . defineProperty ( navigator , "userAgent" , { value : userAgent , writable : false } ) ; } 设置浏览器语言 /** * 设置浏览器语言,检测方式: navigator.language */ chromeHelper .

how to access IndexedDB (of current opened domain/tab) from chrome extension

假装没事ソ 提交于 2020-02-05 04:23:26
问题 I currently have indexedDB on google.com domain. i want to be able to read it from google chrome extension. how can i accomplish this? do i need to add any specific permissions? i currently have: "permissions": [ "tabs", "bookmarks", "unlimitedStorage", "*://*/*", "identity", "https://*.google.com/*", "https://ssl.gstatic.com/", "https://www.googleapis.com/", "https://accounts.google.com/" ], with what command i can do this? thank you! Edit: i have readed i can access it from content script

浏览器缓存IndexedDB、localStorage、sessionStorage比较

ぐ巨炮叔叔 提交于 2020-02-04 15:59:07
IndexedDB就是前端数据库,在浏览器中采用key-value键值方式存储数据。 我们经常用的缓存API localStorage 和 sessionStorage ,能满足我们开发时的绝大多数需求,简单的键值存储,但是它们有它们的限制: * 存储空间限制,只有5M * 只能存储字符串 * 存储的字段一多就很难管理,存储的字段也无法产生关联 IndexedDB的存储空间原则上没有限制,它本质上还是一个数据库,可以存储大量结构化数据(包括文件/blobs),同时IndexedDB API通过索引的方式实现了数据的高性能搜索。使用比localStorage、sessionStorage复杂得多。 应用场景,不需要网络连接的纯离线应用,比如Todolist这类的用来记录待办任务类型的应用。 资料: 初探IndexedDB localStorage的使用 来源: CSDN 作者: zhexiaode 链接: https://blog.csdn.net/zhexiaode/article/details/104167638

Numeric transaction modes are deprecated in IDBDatabase.transaction. Use “readonly” or “readwrite”

孤街浪徒 提交于 2020-02-03 19:33:35
问题 I have been getting this warning on my application that is using IndexedDB. "Numeric transaction modes are deprecated in IDBDatabase.transaction. Use "readonly" or "readwrite"" which I didn't see that when I first wrote the app (about few months ago) but appear to get this warning every time it tries to access IDBDatabase.transaction. on chrome console, it can properly recognize the following transaction key. IDBTransaction.READ_WRITE 1 IDBTransaction.READ_ONLY 0 my example code that is doing

Numeric transaction modes are deprecated in IDBDatabase.transaction. Use “readonly” or “readwrite”

妖精的绣舞 提交于 2020-02-03 19:27:01
问题 I have been getting this warning on my application that is using IndexedDB. "Numeric transaction modes are deprecated in IDBDatabase.transaction. Use "readonly" or "readwrite"" which I didn't see that when I first wrote the app (about few months ago) but appear to get this warning every time it tries to access IDBDatabase.transaction. on chrome console, it can properly recognize the following transaction key. IDBTransaction.READ_WRITE 1 IDBTransaction.READ_ONLY 0 my example code that is doing

Sync indexedDB with mysql database

被刻印的时光 ゝ 提交于 2020-02-02 03:16:28
问题 I am about to develop an application where employees go to service repair machines at customer premises. They need to fill up a service card using a tablet or any other mobile device. In case of no Internet connection, I am thinking about using HTML5 offline storage, mainly IndexedDB to store the service card (web form) data locally, and do a sync at the office where Internet exists. The sync is with a MySQL database. So the question: is it possible to sync indexedDB with mysql? I have never

indexedDB demo

时光毁灭记忆、已成空白 提交于 2020-01-31 01:51:56
< ! DOCTYPE html > < html lang = "en" > < head > < meta charset = "UTF-8" > < meta name = "viewport" content = "width=device-width, initial-scale=1.0" > < meta http - equiv = "X-UA-Compatible" content = "ie=edge" > < title > Document < / title > < / head > < body > < button onclick = "createDatabase('Users')" > Create Database < / button > < button onclick = "deletedatabase('Users')" > delet Database < / button > < button onclick = "getDatabase('Users')" > get Database < / button > < p id = "display" > < / p > < script > var users = [ { username : "这是name1" , title : "这是title1" , body :