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 please 跨浏览器的CSS3产生器
Mar 14 HTML / CSS
CSS Grid布局教程之什么是网格布局
Dec 30 HTML / CSS
CSS3颜色值RGBA与渐变色使用介绍
Mar 06 HTML / CSS
CSS3 实现的缩略图悬停效果
Dec 09 HTML / CSS
Html5 localStorage入门教程
Apr 26 HTML / CSS
html5 offlline 缓存使用示例
Jun 24 HTML / CSS
Canvas与Image互相转换示例代码
Aug 09 HTML / CSS
canvas实现扭蛋机动画效果的示例代码
Oct 17 HTML / CSS
CSS3常见动画的实现方式
Apr 14 HTML / CSS
使用CSS实现一个搜索引擎的原理解析
Sep 25 HTML / CSS
仅仅使用 HTML/CSS 实现各类进度条的方式汇总
Nov 11 HTML / CSS
CSS 鼠标选中文字后改变背景色的实现代码
May 21 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处理json时中文问题的解决方法
2011/04/12 PHP
php中的注释、变量、数组、常量、函数应用介绍
2012/11/16 PHP
解析zend Framework如何自动加载类
2013/06/28 PHP
PHP使用Session实现上传进度功能详解
2019/08/06 PHP
jquery ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
2010/04/01 Javascript
关于JavaScript的面向对象和继承有利新手学习
2013/01/11 Javascript
详解使用Vue.Js结合Jquery Ajax加载数据的两种方式
2017/01/10 Javascript
简单实现AngularJS轮播图效果
2020/04/10 Javascript
详解vuejs几种不同组件(页面)间传值的方式
2017/06/01 Javascript
jQuery获取table表中的td标签(实例讲解)
2017/07/28 jQuery
深入浅析JSONAPI在PHP中的应用
2017/12/24 Javascript
JS计算距当前时间的时间差实例
2017/12/29 Javascript
vue实现学生录入系统之添加删除功能
2018/07/11 Javascript
微信小程序云开发之模拟后台增删改查
2019/05/16 Javascript
小程序表单认证布局及验证详解
2020/06/19 Javascript
原生javascript如何实现共享onload事件
2020/07/03 Javascript
使用 Github Actions 自动部署 Angular 应用到 Github Pages的方法
2020/07/20 Javascript
[01:10:57]Liquid vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python迭代器和生成器定义与用法示例
2018/02/10 Python
Python3使用turtle绘制超立方体图形示例
2018/06/19 Python
python 实现得到当前时间偏移day天后的日期方法
2018/12/31 Python
python操作文件的参数整理
2019/06/11 Python
python的range和linspace使用详解
2019/11/27 Python
python wxpython 实现界面跳转功能
2019/12/17 Python
使用python turtle画高达
2020/01/19 Python
Python如何将图像音视频等资源文件隐藏在代码中(小技巧)
2020/02/16 Python
Python3标准库之functools管理函数的工具详解
2020/02/27 Python
Anaconda的安装与虚拟环境建立
2020/11/18 Python
selenium框架中driver.close()和driver.quit()关闭浏览器
2020/12/08 Python
米兰网婚纱礼服法国网上商店:Milanoo法国
2016/08/20 全球购物
Tessabit日本:集世界奢侈品和设计师品牌的意大利精品买手店
2020/01/07 全球购物
ktv收银员岗位职责
2013/12/16 职场文书
大学生的网络创业计划书
2013/12/26 职场文书
法律专业自荐信
2014/06/03 职场文书
民事诉讼代理授权委托书范本
2014/10/08 职场文书
mysql sql常用语句大全
2022/06/21 MySQL