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采用了独特的共识算 ...
随机推荐
- IE8中JSON.stringify方法对自动转换unicode字符的解决方案
IE8内置了JSON对象,用以处理JSON数据.与标准方法的不同,IE8的JSON.stringify会把utf-8字符转码: var str = "我是程序员" var json ...
- char与 int 类型转化问题汇总
1.char变为int时高位符号扩展问题 int main() { char a = 0x9a; int util; util = (int)a; if(util > 0) printf(&qu ...
- 数据库事务故障恢复undo日志检查点
checkpoint 检查点 checkpoint,即检查点.在undolog中写入检查点,表示在checkpoint前的事务都已经完成commit或者rollback 了,也就是检查点前面的事务 ...
- hdu 1042 N!
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1042 N! Description Given an integer N(0 ≤ N ≤ 10000) ...
- wget的下载与安装使用
wget的下载与安装:下载地址:ftp://ftp.cs.cuhk.edu.hk/pub/gnu/gnu/wget安装:先把wget下载到的tar文件解压,然后cd到wget目录下# ./config ...
- bootstrap-fileinput 图片上传
bootstrap-fileinput 源文件 在网上下载 CSS: <link href="../../static/Bootstrap/css/plugins/bootstrap- ...
- Java Day 12
包 编译格式 javac -d . **.java 包之间的访问 类找不到: 类名写错,包名.类名 包不存在:指定classpath 其他包的类无法访问:权限 public protected 包导入 ...
- P1571: [Usaco2009 Open]滑雪课Ski
DP. ; var t,s,n,i,j,m,l,a,c,d:longint; f,e:array[..,..maxn] of longint; q:array[..] of longint; g:ar ...
- 闹钟类app构想
NABC--闹钟app N:我们打算针对那些易健忘的人来制作一款闹钟功能的记事本,具来说服务的对象有很多:有健忘的人,还有情侣,北漂的人及其父母(...),常年见不到亲人(双方),后期我们若提前完成基 ...
- C#制作高仿360安全卫士窗体(四)- 水晶按钮
项目越来越紧,我也乐此不疲.自从上次C#制作高仿360安全卫士窗体(三)出来之后,就开始有一些人在说为什么还在坚持写这么落后的东西.我想说的是,我是从事企业信息化工作的,所有程序都只对内部使用.所以只 ...