H5时代的新存储简介
1.WebStorage
分为:sessionStorage和localStorage两种,除了session的生命周期是在该域全部页面被关闭后就被清除而local是无限期存在外,二者的使用与方法属性事件都相同。
简介:Cookie未来的替代品。有存储量大、稳定、存取简便的优点,缺点是安全性,虽然每个域都会有它独立的Storage,但是使用跨域的手段依然能够取到非本域的Storage数据,但是在常规使用上是不存在跨域问题的。
几个方法:
setItem(key,value)存值
getItem(key) 取值
clear() 清空
key(index) 取键
removeItem(key) 删除这个值
属性:
length
事件:
至于那个onStorage事件,IE和FF支持的不怎么完善,还是等等再说
2.Web SQL
使用步骤:
a.首先打开并建立一个数据库:var db=openDatabase('dbname','2.0','我的数据库',2*1024); 四个参数:数据库名,版本号,描述,大小(单位:B)
b.然后使用数据库:db.transaction(function(dbcontrol){}); 参数只有一个回调函数而已,这个回调函数的函数体用来运行SQL,这个回调函数有一个参数,这个参数才是整个数据库使用的核心内容。
c.在这个数据库上运行自己的脚本:
var sql = openDatabase('db', '2.0', '我的数据库', 2 * 1024);
sql.transaction(function (tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS S_MENU(ID,NAME,SEX)');
tx.executeSql('INSERT INTO S_MENU VALUES(?,?,?)',['002','李四','男']);
});
分别演示了创建数据表,和插入数据,注意里面的问号,相当于占位符
executeSql有四个参数:SQL语句,[SQL语句中的参数],操作成功后执行的代码,操作失败后执行的代码
如果是查询,我们怎么才能使用到查询出的结果呢?
var sql = openDatabase('db', '2.0', '我的数据库', 2 * 1024);
sql.transaction(function (tx) {
tx.executeSql('SELECT * FROM S_MENU', [], function (tx, result) {
alert(result.rows.item(0)['NAME']);
});
});
这里不能使用参数,否则无法得到查询结果。
对查询结果的操作需要写在操作成功后执行的代码中,参数有两个,一个是 数据库操作对象,也就是那个tx,还有一个就是得到的结果,就是result。得到结果的过程十分曲折,所以建议能用localStorage的地方就不要用web SQL了
H5时代的新存储简介的更多相关文章
- 海量数据存储之Key-Value存储简介
Key-value存储简介 具备高可靠性及可扩展性的海量数据存储对互联网公司来说是一个巨大的挑战,传统的数据库往往很难满足该需求,并且很多时候对于特定的系统绝大部分的检索都是基于主键的的查询,在这种情 ...
- ES6新特性简介
ES6新特性简介 环境安装 npm install -g babel npm install -g babel-node //提供基于node的REPL环境 //创建 .babelrc 文件 {&qu ...
- ORACLE数据库_迁移(新机器,新存储)
迁移: (10g 64老机器,老存储) ------>(11g 64新机器,新存储)注意要点:新老服务的时间,字符集,sid升级顺序:10.2.0.1------>10.2.0.4或10. ...
- Kotlin新语言简介和快速入门知识点
Kotlin新语言简介和快速入门知识点 简介:Kotlin是最近由JetBrains发布的一种基于JVM的编程语言,已经被Google宣布为开发Android App的一级语言Kotlin有着与Jav ...
- [转]MBTiles移动存储简介
首先奉上官网地址http://mapbox.com/developers/mbtiles/#storing_tiles 由于英文水平有限,看资料很费眼睛,特将它翻译成中文 存储瓦片 地图制作者面对一个 ...
- 11g RAC OCR,VOTING DISK存储全部损坏,利用自动备份,恢复OCR,VOTING DISK到新存储。
背景: 11g R2 rac 的orc ,voting disk asm存储磁盘全部损坏.通过调查得知 损坏的 OCR磁盘对应为 VOL1 ,voting disk磁盘对应于 VOL2 . 故,添加a ...
- 【ABAP系列】SAP ABAP7.40新语法简介第一篇
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP7.40新语法简 ...
- 【ABAP系列】SAP ABAP7.40新语法简介第二篇
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP7.40新语法简 ...
- Baccarat凭什么能成为DeFi后时代火爆新趋势?
在各币种经历涨涨跌跌以后,DeFi后时代已然来临.那么,当前DeFi市场中哪个项目更被市场生态建设者看好呢?毫无疑问,Baccarat会成为最被看好的DeFi项目. Baccarat采用了独特的共识算 ...
随机推荐
- r
http://vgoulet.act.ulaval.ca/en/emacs/mac/ mean() 均值 sd()标准差 http://www.walware.de/it/downloads/stat ...
- LightOJ 1317 第八次比赛 A 题
Description You probably have played the game "Throwing Balls into the Basket". It is a si ...
- hdu 5427 A problem of sorting
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5427 A problem of sorting Description There are many ...
- iOS学习之C语言指针
访问数据的两种方式: 1.直接访问: 2.间接访问:先找到内存地址,根据地址访问存储单元.(内存地址 被称为指针) 定义指针变量: 类型修饰符 *指针变量名 = NULL; NULL表示空指针,相当 ...
- SharePoint 2010 设置宽度1024px
在模板页中找到 s4-workspace,设置class=”s4-nosetwidth“,然后再设置宽度为1024px:如果要居中,设置style=“margin:0 auto” 这样也会有一个问题: ...
- 无法加载一个或多个请求的类型。有关更多信息,请检索 LoaderExceptions 属性
一解决方法: 问题的主要原因出在:跨程序集反射. 即我们需反射的A.dll的程序集引用B.dll程序集,而在反射工具项目中却不存在对B.dll程序集的引用.因此我们只需在反射工具项目中添加对B.dll ...
- [shell基础]——find命令
find命令选项 -name 按照文件名查找 -type 查找某一类型的文件(b 代表设备块:d 目录:c 字符设备文件:l 符号(软)链接文件:f 普通文件) -size 查找文件长度或者大小 -p ...
- 邻接表实现Dijkstra算法以及DFS与BFS算法
//============================================================================ // Name : ListDijkstr ...
- 【收藏】Linux下tomcat内存配置
常见的内存溢出有以下两种: java.lang.OutOfMemoryError: PermGen space java.lang.OutOfMemoryError: Java heap space ...
- 在安卓3.0以下版本使用Fragment的注意事项
1. 按照网上的Fragment官网资料翻译来做一直有错: 10-03 02:43:13.971: E/AndroidRuntime(1921): java.lang.RuntimeException ...