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制作纸张效果(外翻卷角)
Feb 01 HTML / CSS
CSS3中31种选择器使用方法教程
Dec 05 HTML / CSS
一款利用纯css3实现的360度翻转按钮的实例教程
Nov 05 HTML / CSS
用CSS3打造HTML5的Logo(实现代码)
Jun 16 HTML / CSS
纯css3实现思维导图样式示例
Nov 01 HTML / CSS
关于前端上传文件全面基础扫盲贴(入门)
Aug 01 HTML / CSS
HTML5 CSS3实现一个精美VCD包装盒个性幻灯片案例
Jun 16 HTML / CSS
很酷的HTML5电子书翻页动画特效
Feb 25 HTML / CSS
通过HTML5 Canvas API绘制弧线和圆形的教程
Mar 14 HTML / CSS
浅谈Html5多线程开发之WebWorkers
May 02 HTML / CSS
Html5 webview元素定位工具的实现
Aug 07 HTML / CSS
CSS+HTML 实现顶部导航栏功能
Aug 30 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的header和asp中的redirect比较
2006/10/09 PHP
php数组中删除元素之重新索引的方法
2014/09/16 PHP
javascript 全选与全取消功能的实现代码
2012/12/23 Javascript
jQuery过滤选择器详解
2015/01/13 Javascript
JavaScript 学习笔记之基础中的基础
2015/01/13 Javascript
对比分析AngularJS中的$http.post与jQuery.post的区别
2015/02/27 Javascript
vue webpack实用技巧总结
2018/04/24 Javascript
js运算符的一些特殊用法
2018/07/29 Javascript
JS 实现获取验证码 倒计时功能
2018/10/29 Javascript
在Django的模型中添加自定义方法的示例
2015/07/21 Python
浅谈python中copy和deepcopy中的区别
2017/10/23 Python
使用anaconda的pip安装第三方python包的操作步骤
2018/06/11 Python
使用memory_profiler监测python代码运行时内存消耗方法
2018/12/03 Python
python三大神器之fabric使用教程
2019/06/10 Python
python生成特定分布数的实例
2019/12/05 Python
Python面向对象实现方法总结
2020/08/12 Python
HTML5 Canvas渐进填充与透明实现图像的Mask效果
2013/07/11 HTML / CSS
3种方式实现瀑布流布局小结
2019/09/05 HTML / CSS
世界上最大的专业美容用品零售商:Sally Beauty
2017/07/02 全球购物
法国票务网站:Ticketmaster法国
2018/07/09 全球购物
写一个方法1000的阶乘
2012/11/21 面试题
NULL是什么,它是怎么定义的
2015/05/09 面试题
new修饰符是起什么作用
2015/06/28 面试题
Prototype如何为一个Ajax添加一个参数
2015/12/06 面试题
自主招生自荐信
2013/12/08 职场文书
股东合作协议书范本
2014/04/14 职场文书
新闻发布会活动策划方案
2014/09/15 职场文书
意外伤害赔偿协议书
2014/09/16 职场文书
大四优秀党员个人民主评议
2014/09/19 职场文书
环卫工人慰问信
2015/02/15 职场文书
结婚主持人致辞
2015/07/28 职场文书
四十年同学聚会致辞
2015/07/28 职场文书
CSS3实现的水平标题菜单
2021/04/14 HTML / CSS
看完这篇文章获得一些java if优化技巧
2021/07/15 Java/Android
JavaCV实现照片马赛克效果
2022/01/22 Java/Android
腾讯云服务器部署前后分离项目之前端部署
2022/06/28 Servers