html5本地存储之localstorage 、本地数据库、sessionStorage简单使用示例


Posted in HTML / CSS onMay 08, 2014

html5的一个非常cool的功能,就是web storage,类似于之前的cookie,不过与之不同的是,web storage 拥有本地5兆的容量可以存储,而cookie却只有4K,这是完全不能比的优势。
webstrange又分为:localstorage,sessionstorage和本地数据库。

接下来我就来一一介绍:

1、localstorage
localstorage 的使用比较简单,方法有:

复制代码
代码如下:

localStorage.setItem(key,value);//保存数据
localStorage.getItem(key);//读取数据
localStorage.removeItem(key);//删除单个数据
localStorage.clear();//删除所有数据
key:localStorage.key(index);//得到某个索引的值

一个小demo来展示功能:

复制代码
代码如下:

(function($){
$(function(){
$.fn.getFormParam=function(){
var serializeObj={};
var array=this.serializeArray();
var str=this.serialize();
$(array).each(function(){
if(serializeObj[this.name]){
if($.isArray(serializeObj[this.name])){
serializeObj[this.name].push(this.value);
}else{
serializeObj[this.name]=[serializeObj[this.name],this.value];
}
}else{
serializeObj[this.name]=this.value;
}
});
return serializeObj;
};</p> <p> var storageFile =JSON.parse(window.localStorage.getItem('demo'));
$.each(storageFile, function(i, val){
$('#demoForm').find('[name="'+i+'"]').val(val);
});</p> <p> $('#demoForm').find('[type="submit"]').on('click', function(){
var data = $('#demoForm').getFormParam();
window.localStorage.setItem('demo', JSON.stringify(data));
return false;
});
});
})(jQuery)

html 代码:

复制代码
代码如下:

<!doctype html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<script src="jquery-1.10.2.min.js"></script>
<script src="demo.js"></script>
<title>Document</title>
</head>
<body>
<form id="demoForm">
<p><label><span>姓名</span><input name="name"></label></p>
<p><label><span>年龄</span><input name="age"></label></p>
<p><label><span>学号</span><input name="number"></label></p>
<p><label><span>地址</span><input name="address"></label></p>
<p><label><span>爱好</span><input name="habit"></label></p>
<p><label><span>其他</span><textarea name="big" id="" cols="30" rows="10"></textarea></label></p>
<p><input type="submit" value="提交"></p>
</form>
</body>
</html>

这样,一个简单的展示localstorage 的 demo就实现了

2、sessionStorage
sessionStorage用法与localStorage用法相同,不过sessionStorage在浏览器关闭网站时候就会清除,而localStorage会一直保存至浏览器中,二者酌情配合使用。

3、本地数据库
熟悉IOS/Android开发的同学,应该会对SQLite数据库比较熟悉
html5中对数据库的操作比较简单,主要有openDatabase方法和transaction方法
用一个对象db来接收openDatabase创建的访问数据库的对象

复制代码
代码如下:

var db = openDatabase(databasename,version,description,size)

其中
databasename:数据库名
version:数据库版本 可不填
desription:数据库描述
size:数据库分配空间大小
 
transaction方法用一个回调函数作为参数,在函数中执行具体的访问数据库的方法

复制代码
代码如下:

db.transaction(function(tx)){
tx.executeSql(sqlQuery,[value1,value2..],dataHandler,errorHandler)
});

executeSql方法的四个参数分别是:

sqlQuery:需要具体执行的sql语句,create||select||update||delete;

[value1,value2..]:sql语句中所有使用到的参数的数组,在executeSql方法中,将sql语句中所要使用的参数先用“?”代替,然后依次将这些参数组成数组放在第二个参数中;

dataHandler:执行成功回调函数;

errorHandler:执行失败回调函数;

HTML / CSS 相关文章推荐
使用CSS3实现字体颜色渐变的实现
Mar 09 HTML / CSS
使用CSS3的背景渐变Text Gradient 创建文字颜色渐变
Aug 19 HTML / CSS
css3实现3D色子翻转特效
Dec 23 HTML / CSS
HTML5 Canvas像素处理使用接口介绍
Dec 02 HTML / CSS
html5的新增的标签和废除的标签简要概述
Feb 20 HTML / CSS
HTML5中判断用户是否正在浏览页面的方法
May 03 HTML / CSS
深入浅析HTML5中的article和section的区别
May 15 HTML / CSS
使用canvas实现黑客帝国数字雨效果
Jan 02 HTML / CSS
html5实现滑块功能之type=&quot;range&quot;属性
Feb 18 HTML / CSS
AmazeUI底部导航栏与分享按钮的示例代码
Aug 18 HTML / CSS
浅谈CSS不规则边框的生成方案
May 25 HTML / CSS
CSS3实现360度循环旋转功能
Feb 12 HTML / CSS
Data URI scheme详解和使用实例及图片base64编码实现方法
May 08 #HTML / CSS
HTML5本地存储localStorage、sessionStorage基本用法、遍历操作、异常处理等
May 08 #HTML / CSS
html5实现canvas阴影效果示例
May 07 #HTML / CSS
html5 利用重力感应实现摇一摇换颜色可用来做抽奖等等
May 07 #HTML / CSS
HTML5资源预加载(Link prefetch)详细介绍(给你的网页加速)
May 07 #HTML / CSS
HTML5中5个简单实用的API(第二篇,含全屏、可见性、拍照、预加载、电池状态)
May 07 #HTML / CSS
html5 datalist标签使用示例(自动完成组件)
May 04 #HTML / CSS
You might like
关于php 接口问题(php接口主要也就是运用curl,curl函数)
2013/07/01 PHP
基于PHPexecl类生成复杂的报表表头示例
2016/10/14 PHP
js实现的日期操作类DateTime函数代码
2010/03/16 Javascript
jQuery 常见操作实现方式和常用函数方法总结
2011/05/06 Javascript
jquery中获取id值方法小结
2013/09/22 Javascript
如何在MVC应用程序中使用Jquery
2014/11/17 Javascript
javascript创建动态表单的方法
2015/07/25 Javascript
JavaScript中的this关键字使用详解
2015/08/14 Javascript
Vue.js学习之计算属性
2017/01/22 Javascript
js实现前面自动补全位数的方法
2018/10/10 Javascript
IE9 elementUI文件上传的问题解决
2018/10/17 Javascript
JS实现的自定义map方法示例
2019/05/17 Javascript
微信小程序如何使用云开发
2019/05/17 Javascript
浅谈ECMAScript 中的Array类型
2019/06/10 Javascript
微信小程序 自定义弹窗实现过程(附代码)
2019/12/05 Javascript
jquery实现进度条状态展示
2020/03/26 jQuery
vue二选一tab栏切换新做法实现
2021/01/19 Vue.js
[43:32]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第一场
2014/05/26 DOTA
Python操作列表的常用方法分享
2014/02/13 Python
Python实现子类调用父类的方法
2014/11/10 Python
Django 视图层(view)的使用
2018/11/09 Python
Python进阶之@property动态属性的实现
2019/04/01 Python
python GUI图形化编程wxpython的使用
2019/07/19 Python
Django自带日志 settings.py文件配置方法
2019/08/30 Python
Python3.7 读取 mp3 音频文件生成波形图效果
2019/11/05 Python
python实现输出一个序列的所有子序列示例
2019/11/18 Python
Python原始套接字编程实例解析
2020/01/29 Python
Python实现的北京积分落户数据分析示例
2020/03/27 Python
Python3.7在anaconda里面使用IDLE编译器的步骤详解
2020/04/29 Python
CSS3中新增的对文本和字体的设置
2020/02/03 HTML / CSS
Bogner美国官网:滑雪服中的”Dior”
2018/01/30 全球购物
美国最佳选择产品网站:Best Choice Products
2019/05/27 全球购物
大二法英学生职业生涯规划范文
2014/02/27 职场文书
工作后的感想
2015/08/07 职场文书
python 实现德洛内三角剖分的操作
2021/04/22 Python
postgresql无序uuid性能测试及对数据库的影响
2021/06/11 PostgreSQL