html 5的localstorag
随着我们硬件技术的发展,浏览器本身的功能也愈发的完善,从之前的cookie到现在的本地缓存机制,再到web storage,在之前html4 的时候使用cookie具有一些明显的局限,如大小限制,cookie的大小限制早4k,还有一个就是带宽,cookie是随着http事物一起被发送的,于是乎就会浪费一部分发送cookie时使用的带宽,还有一个就是复杂性,要对cookie进行操作具有很强的复杂性。综上所述,新的技术webstorage就因运而生了,顾名思义就是在web上储存数据,但是这里的储存并不是储存在服务器端的,而是储存在客服端的本地的。
细细划分一下,我们的webstorage又分为两种,一个是sessingstorage,即将数据保存在session对象中,具体指的是用户在浏览某个网站的时候,从进入这个网站到浏览器关闭的这一段时间里,session对象便可以用来保存着短时间内需要保存的任何数据。还有一种就是localstorage,也就是我们主要需要了解的,这种方式是将数据保存在客户端本地的硬件中即使我们的浏览器关闭之后,这些我们保存的数据依然存在,下一次打开浏览器的时候我们依然可以继续使用,这一点就非常的实用。
下面我将进行实例演示:
首先我们需要创立本地web数据库:
var db = openDatabase("student","1.0","学生表",2*1024*1024,function(){});
db.transaction(function (fx){
fx.executeSql("create table if not exists stu(id Real unique,name Text)",---------------------------做判断,查看是否存在这个table
[],
function(fx,result){
alert("创建表成功" + result);
},
function(fx,error){
alert("创建表失败" + error);
}
);
});
当我们的本地数据库创建成功之后就可以往里面添加数据了:
function fun(){
db.transaction(function(fx){
fx.executeSql("insert into stu(id,name) values(?,?)",
[1,'Lanveer'],
function(fx,result){
alert('add ok')
},
function(fs,err){
alert('failing'+err.message);
}
)
})
}
然后便是和我们数据库相同的操作,进行查看我们的数据了:
function fun2(){
db.transaction(function(fx){
fx.executeSql("select * from stu",
[],
function(fx,result){
var len=result.rows.length;
alert(len)//--打印查询结果
alert(result.rows.item(0).name)
var tp="<table><tr><th>编号</th><th>姓名</th></tr>"
for(var i=0;i<len;i++){
tp+="<tr><td>"+result.rows.item(i).id+"</td><td>"+result.rows.item(i).name+"</td></tr>"
}
tp+="</table>"
document.getElementById("show").innerHTML=tp;
},function(fs,err){
alert('查询失败'+err.message)
}
)
})
}
在这一步我们进行了复杂的建表操作,将查到的数据注入我们新建的表格中。
接下来就是对数据进行增加和删除了。
增加一条数据:
dataBase.transaction(function (fx) {
fx.executeSql("update stu set name = ? where id= ?", [“name,” “id”],
function (fx, result) { },
function (fx, error) {
alert('更新失败: ' + error.message);
});
})
删除一条数据:
dataBase.transaction(function (fx) {
fx.executeSql("delete from stu where id= ?",
[id],
function (fx, result) {},
function (fx, error) {
alert('删除失败: ' + error.message);
});
});
以上就是我们需要了解的localstorage的基本操作,无非就是类似于我们数据库对我们数据的增加删除修改和查询的操作,只是在这里进行的是web应用而已。
html 5的localstorag的更多相关文章
- localStorag的一点见解
dot方法对localStorag方法进行键值操作 设值 localStorage.hello = 'world'; localStorage.zhangsan = 'lisi'; 取值: var v ...
- window.localStorag使用
H5本地缓存: 删除: window.localStorage.removeItem("parentNode") 写入: window.localStorage.setItem(& ...
- HTML最新标准HTML5小结
写在前面 HTML5出来已经很久了,然而由于本人不是专业搞前端的,只知道有这个东西,具体概念有点模糊(其实就是一系列标准规范啦):因此去年(2015.11.09),专门对HTML5做了个简单的小结,今 ...
- php实现input输入框失去焦点自动保存输入框的数据
最近做一个输入框失去焦点时自动保存数据的功能,当然就是jQuery选择器选择input,blur时,ajax提交数据给php文件,php文件保存一下数据咯.主要是要注意一下中文的问题,所以中间需要转一 ...
- Web设计思想——渐进增强
最近在拜读一本Web体验相关的书<渐进增强--跨平台用户体验设计 >,阅读后做些总结,消化一下书中的精髓. 在阅读本文前,可以先思考下面几个问题. 1. 浏览网页的目的是什么? 2. 浏览 ...
- JQuery中的表单验证及相关的内容
前 言 JRedu Android应用开发中,经常要用到表单.既然用到了表单,那就不可避免的要用到表单的验证.但是,在提交表单时,但是,并不是,每次提交的表单内容都是正确的,如果 每次都将表单的 ...
- localStorage小结
使用HTML5可以在本地存储用户的浏览数据.. 什么是 HTML5 Web 存储? 在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie ...
- angular项目一
1.Angularjs第三方模块angular-route和angular-ui-router的区别.差异.不同, ui-router路由器是一个第三方模块,功能非常强大.它支持一切正常ngroute ...
- sessionStorage和localStorage存储的转换不了json
先说说localStorage与sessionStorage的差别 sessionStorage是存储浏览器的暂时性的数据,当关闭浏览器下次再打开的时候就不能拿到之前存储的缓存了 localStora ...
随机推荐
- C++ Prime:预处理器
C++程序会用到的一项预处理功能是头文件保护符,头文件保护符依赖于预处理变量.预处理变量有两种状态:已定义和未定义,#define指令把一个名字设定为预处理变量,另外两个指令则分别检查某个指定的预处理 ...
- bzoj1236
其实这道题目不难,主要要求我们有一个清晰地思路首先可以按位数讨论,这里我把1~9单独讨论了因为除了1位数,每个位数开头的数的开头数字1前面都是-号然后考虑位数的奇偶性当位数为奇数的时候比较简单举个例子 ...
- 串口传输文件 lrzsz
假设有一种开发环境,一块板子,除了串口,没有任何外部出入输出设备,没有sd卡,没有网线,这个时候如果你想跟这块板子传输交互文件,要怎么办? 根据modem所采用的文件传输协议:xmodem,ymode ...
- HDU 4716 A Computer Graphics Problem 2013年四川省赛题
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4716 题目大意不用解释了吧,看案例就能明白 #include<cstdio> #inclu ...
- TortoiseSVN优化设置
设置log messages的字体 TortoiseSVN默认的字体太小了,看着难受: 可以在Settings > 左侧目录树General > Dialogs 1中进行设置: 使用Bey ...
- LaTeX手动安装宏包(package)以及生成帮助文档的整套流程
注意:版权所有,转载请注明出处. 我使用的是ctex套装,本来已经自带了许多package,但是有时候还是需要使用一些没有预装的宏包,这时就需要自己安装package了.下载package可以从CTA ...
- hdu2817 A sequence of numbers
这题就是判断是等差数列还是等比数列,然后计算结果mod200907 因为数字比较大10的九次方 所以等比用到了快速幂求模 不懂可以看看算法导论,在大数那里有讲 #include <iostrea ...
- Mybatis 控制台打出Sql-Log的设置
首先工程中必须要有slf4j-log4j12-1.7.12.jar这个包,否则打不出来 而后工程中“log4j.properties”文件如下: log4j.appender.stdout=org.a ...
- 【设计模式 - 6】之桥接模式(Bridge)
1 模式简介 举个例子,人.车和公路是三个维度,人开着车在公路上行驶,就是将这三个维度进行了关联.人分男人(Man)和女人(Woman),车分小轿车(Car)和公共汽车(Bus),公路分市区 ...
- Java处理文件小例子--获取全国所有城市的坐标
需求:前端展示数据,全国城市的坐标