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色彩
Jan 16 HTML / CSS
CSS3中background-clip和background-origin的区别示例介绍
Mar 10 HTML / CSS
css3 2D图片转动样式可以扩充到Js当中
Apr 29 HTML / CSS
前端隐藏出边界内容的实现方法
Apr 14 HTML / CSS
CSS3实现淘宝留白的方法
Jun 05 HTML / CSS
HTML5中新标签和常用标签详解
Mar 07 HTML / CSS
HTML5如何为形状图上颜色怎么绘制具有颜色和透明度的矩形
Jun 23 HTML / CSS
html5+svg学习指南之SVG基础知识
Dec 17 HTML / CSS
使用HTML5的Canvas绘制曲线的简单方法
Sep 08 HTML / CSS
Html5嵌入钉钉的实现示例
Jun 04 HTML / CSS
在CSS中映射鼠标位置并实现通过鼠标移动控制页面元素效果(实例代码)
Apr 22 HTML / CSS
el-form每行显示两列底部按钮居中效果的实现
Aug 05 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
微信支付开发动态链接Native支付
2016/07/12 PHP
PHP实现登录验证码校验功能
2018/05/17 PHP
PHP rmdir()函数的用法总结
2019/07/02 PHP
php文件包含的几种方式总结
2019/09/19 PHP
javascript encodeURI和encodeURIComponent的比较
2010/04/03 Javascript
ASP.NET jQuery 实例14 在ASP.NET form中校验时间范围
2012/02/03 Javascript
jQuery.prototype.init选择器构造函数源码思路分析
2013/02/05 Javascript
JS和Jquery获取和修改label的值的示例代码
2014/01/15 Javascript
JavaScript中的console.log()函数详细介绍
2014/12/29 Javascript
JavaScript中的值是按值传递还是按引用传递问题探讨
2015/01/30 Javascript
jQuery+PHP实现动态数字展示特效
2015/03/14 Javascript
JavaScript实现解析INI文件内容的方法
2016/11/17 Javascript
Bootstrap基本组件学习笔记之按钮组(8)
2016/12/07 Javascript
微信小程序 开发之全局配置
2017/05/05 Javascript
jQuery实现table表格信息的展开和缩小功能示例
2018/07/21 jQuery
详解mpvue中小程序自定义导航组件开发指南
2019/02/11 Javascript
详解微信小程序开发之formId使用(模板消息)
2019/08/27 Javascript
Python自然语言处理 NLTK 库用法入门教程【经典】
2018/06/26 Python
python3基于OpenCV实现证件照背景替换
2018/07/18 Python
Python greenlet和gevent使用代码示例解析
2020/04/01 Python
Python 操作 PostgreSQL 数据库示例【连接、增删改查等】
2020/04/21 Python
使用Python快速打开一个百万行级别的超大Excel文件的方法
2021/03/02 Python
Photobook澳大利亚:制作相片书,婚礼卡,旅行相簿
2017/01/12 全球购物
如何提高SQL Server的安全性
2016/07/25 面试题
考博专家推荐信模板
2013/12/02 职场文书
外企财务年会演讲稿
2014/01/03 职场文书
企业给企业的表扬信
2014/01/13 职场文书
金融管理毕业生求职信
2014/03/03 职场文书
党员教师群众路线思想汇报范文
2014/10/28 职场文书
2014年教育工作总结
2014/11/26 职场文书
个人学习总结范文
2015/02/15 职场文书
社会实践活动总结格式
2015/05/11 职场文书
详解java如何集成swagger组件
2021/06/21 Java/Android
利用JavaScript写一个简单计算器
2021/11/27 Javascript
JavaScript利用html5新方法操作元素类名详解
2021/11/27 Javascript
canvas 中如何实现物体的框选
2022/08/05 Javascript