【html5】Web存储_locaStorage对象的应用
Web存储
html5可以在本地存储用户浏览的数据,数据的存储原理是以 键/值 存储的
存储对象分类
- localStorage:没有时间限制的数据存储
- sessionStorage:针对一个会话的数据存储
常用的API
(以localStorage为例,sesstionStorage同理)
- 保存数据:localStorage.setIterm(key,value);
- 读取数据:localStorage.getIterm(key);
- 移除单个数据:localStorage.removeIterm(key);
- 移除所有数据:localStorage.clear();
- 得到某个索引的key:localStorage.key(index);
- 点击计数:localStorage.clickcount();
实例(能够记忆用户的密码和账号):
<!DOCTYPE html>
<html>
<head>
<title>登 录 页 面</title>
<meta name="content-type" content="text/html; charset=UTF-8">
<style>
div{border:2px groove #ddd};
</style>
</head>
<body onload = "loadAll()">
<form action = "afterlogin.jsp">
<div>
name:<input type = "text" name = "user" id = "user" onblur = "read()"><br>
password:<input type = "password" name = "pw" id = "pw"><br>
<input type = "checkbox" onclick = "choice()" name = "rem" id = "rem"><span id = "res">永远记住我</span><br>
</div>
<br>
登录:<input type = "image" src = "nexview.gif" width = "20px" height = "20px"alt = "Submit" title = "Submit" onclick= "save()">
</form>
<br>
<button onclick = "count()">点我</button>计数:<span id = "count"></span>
<div id = "list"></div>
<script>
function count(){
if(typeof(Storage)!=="undefined")
{
if (localStorage.clickcount)
{
localStorage.clickcount=Number(localStorage.clickcount)+1;
}
else
{
localStorage.clickcount=1;
}
document.getElementById("count").innerHTML="你已经点击了该按钮 " + localStorage.clickcount + " 次 ";
}
else
{
document.getElementById("count").innerHTML="抱歉,您的浏览器不支持 web 存储";
}
}
function choice(){
var cb = document.getElementById("rem");
if(cb.value != "1"){
cb.value = "1";
document.getElementById("res").innerHTML = "忘记我";
}else{
cb.value = "0";
document.getElementById("res").innerHTML = "永远记住我";
}
}
function save(){
//判断用户是否选择了记住用户名和密码
if(document.getElementById("rem").value = "1"){
//创建一个对象
var info = new Object;
//获得用户输入的值
info.user = document.getElementById("user").value;
info.pw = document.getElementById("pw").value;
//将对象转化为字符串
var str = JSON.stringify(info);
//将数据存储到localStorage中
localStorage.setItem(info.user,str);
}
}
function read(){
//获得用户输入的名称
var user = document.getElementById("user").value;
//通过用户用户名获得存储数据的对象
var str = localStorage.getItem(user);
//将对象转化为字符串
var sstr = JSON.parse(str);
var spw = document.getElementById("pw");
spw.value = sstr.pw;
}
//将所有存储在loadStorage中的对象提取出来
function loadAll(){
var list = document.getElementById("list");
if(localStorage.length>0){
var result = "<table border='1'>";
result += "<tr><td>用户</td><td>密码</td></tr>";
for(var i=0;i<localStorage.length;i++){
//依次获得每一个对象
var user = localStorage.key(i);
var str = localStorage.getItem(user);
//将对象转化为字符串
var sstr = JSON.parse(str);
result += "<tr><td>"+user+"</td><td>"+sstr.pw+"</td></tr>";
}
result += "</table>";
list.innerHTML = result;
}else{
list.innerHTML = "数据为空...";
}
}
</script>
</body>
</html>
Web存储和jsp内置对象简单比较
相同点:
- 都可以作为一个容器来存网页中的数据
不同点:
- Web存储用于HTML(静态网页)中,而JSP内置对象用于jsp(动态网页)中。
- Web存储只有两种类型(localStorage、sessionStorage), JSP的内置对象有十多个(application、session、request、config、exception、out、response、pageContext、page…..)。
【html5】Web存储_locaStorage对象的应用的更多相关文章
- HTML5 Web存储(Web Storage)技术及用法
在如今的Web开发中,HTML5是大家讨论的最大一个话题.HTML5提供的新功能特征使得Web程序员如虎添翼,并免去了以往钻研各种方法来让网站更好.更快.更灵活的气力.这些新功能中有一个非常让我感兴趣 ...
- HTML5 web 存储
简介: HTML5 web 存储,一个比cookie更好的本地存储方式. 首先我们先了解一下: 什么是 HTML5 Web 存储? 使用html5可以在本地存储用户的浏览数据. 早些时候,本地存储使用 ...
- HTML5 Web存储 页面间进行传值
在实际使用过程中,经常会遇到需要在页面间进行传值的情况,最初设想一定需要后端才能进行数据的存储和读取,或者在本地使用一个cookie进行保存,直到了解到HTML5 Web存储 使用HTML5的新特性可 ...
- 面试之HTML5 Web存储
前几天面试遇到了一个题是问localStorage和sessionStorage的区别,当时的回答不是很全面,今天就针对这个问题做一下整理(概念,用法,区别) HTML5 Web存储,一个比 cook ...
- HTML5: HTML5 Web 存储
ylbtech-HTML5: HTML5 Web 存储 1.返回顶部 1. HTML5 Web 存储 HTML5 web 存储,一个比cookie更好的本地存储方式. 什么是 HTML5 Web 存储 ...
- 有趣的HTML5 Web 存储
HTML5 web 存储,一个比cookie更好的本地存储方式. 什么是 HTML5 Web 存储? 使用HTML5可以在本地存储用户的浏览数据. 早些时候,本地存储使用的是 cookie.但是Web ...
- 【读书笔记】HTML5 Web存储
PS:这里讲web存储,主要是在客户端存储的一些技术:cookie,localstorage,sessionstorage,WebSQL. Cookie Cookie是HTML4中在客户端 ...
- HTML5本地化应用开发-HTML5 Web存储详解
文章不是简单的的Ctrl C与V,而是一个字一个标点符号慢慢写出来的.我认为这才是是对读者的负责,本教程由技术爱好者成笑笑(博客:http://www.chengxiaoxiao.com/)写作完成. ...
- HTML5 web存储
既然涉及到HTML5知识,那么必定会存在一定的兼容性问题,这里就涉及到浏览器的支持情况了. 浏览器支持情况: Internet Explorer 8+, Firefox, Opera, Chrome, ...
随机推荐
- JS在IE和FireFox之间常用函数的区别小结
1.event.srcElement 复制代码 代码如下: //srcElement只能在IE下使用target是FireFox使用的,下面是兼容性写法 var obj = e.srcElement ...
- Android实现下滑和上滑事件
做过开发的对于下滑刷新与上滑加载都一定不陌生,因为我们在很多时候都会使用到,那对对于这个效果如何实现呢?相信难道过很多小伙伴,今天我就带领大家一道通过第三方组件快速完成上述效果的实现,保准每位小伙伴都 ...
- Lua 学习笔记(二)语法、类型、值
首先Lua执行的每一段代码都称之为“程序块”,一个程序块也就是一连串的语句或命令,例如一个源码文件或一行代码.Lua语句之间并不需要分隔符,如代码中的换行就不起任何作用,当然为了养成编码习惯当两条或者 ...
- Yii的学习(5)--Active Record的关联
官网原文:http://www.yiiframework.com/doc/guide/1.1/zh_cn/database.arr 官网中后半段为英文,而且中文的内容比英文少一些,先放到这里,之后有时 ...
- CLR执行模型
好好学习底层运行机制,从CLR via C# 开始. CLR的执行模型: CLR:Common Language Runtime,是一个可由多种编程语言使用的"运行时".CLR的核 ...
- Robot Framework自动化测试(七)--- jybot模式
虽然,很久不用关于Robot Framework框架了,但我这里应该是除了@齐涛-道长之外分享Robot Framework 相关资料比较多的地方了.所以,常常被问到一些关于该框架的问题. 虽然,我一 ...
- 15 Best Responsive HTML5 Frameworks 2014
Best HTML5 frameworks are most popular because with the use of these frameworks you can create websi ...
- [New Portal]Windows Azure Virtual Machine (23) 使用Storage Space,提高Virtual Machine磁盘的IOPS
<Windows Azure Platform 系列文章目录> 注意:如果使用Azure Virtual Machine,虚拟机所在的存储账号建议使用Local Redundant.不建议 ...
- EDNS
随着业务的复杂化和多样化,RFC1035中定义的DNS消息格式和它支持的消息内容已经不足以满足一些DNS服务器的需求,于是,RFC2671中提出了一种扩展DNS机制EDNS(Extension Mec ...
- Android应用中如何保护JAVA代码
Java Classes字节码的反编译太容易了,有很多功能强大的反编译利器可以轻松的将Java字节码 反转为源代码,但是android中普通.apk文件可以轻松的被反编译为Java源代码吗? 答案是当 ...