【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, ...
随机推荐
- 使用Depth Texture
使用Depth Textures: 可以将depth信息渲染到一张texture,有些效果的制作会需要scene depth信息,此时depth texture就可以派上用场了. Depth Text ...
- android target unknown and state offline解决办法
没有错,将adb的版本升级一下就好了! 下载地址为:http://files.cnblogs.com/files/hujunzheng/adb1.0.32.zip
- 【干货】如何通过OPC自定义接口来实现客户端数据的读取?
上篇博文分享了我的知识库,被好多人关注,受宠若惊.今天我把我在项目中封装的OPC自定义接口的程序分享一下.下面将会简单简单介绍下OPC DA客户端数据访问,以及搭配整个系统的运行环境. OPC(OLE ...
- 关于js中for in和foreach in的区别
js 中for in 和foreach in的区别 两个的作用都用来遍历对象,但为什么有了for in语句了还要foreach in语句呢,后来看了下foreach in开发的文档,foreach i ...
- Mybatis学习错误之:重复加载mapper.xml
学习mybatis的时候,突然遇到测试出错.测试mapper代理失败,现在钻研少了,不喜欢看未知的错误了,立即改正.错误打印说mapper.xml已经注册,仔细查看SQLMapConfig.xml发现 ...
- rsync密码使用要注意的几个点
1 客户端和服务端的密码文件不一样 服务端的密码文件格式是: 用户名:密码 比如: yejianfeng:123456 客户端的密码文件格式是: 密码: 比如 123456 所以如果一个机器即 ...
- HT for Web基于HTML5的图像操作(二)
上篇介绍了HT for Web采用HTML5 Canvas的getImageData和setImageData函数,通过颜色乘积实现的染色效果,本文将再次介绍另一种更为高效的实现方式,当然要实现的功能 ...
- Wo的书单
一个人,一生之中总要有几本证明自己的书. 2016---08 <ASP.NET MVC5 高级编程(第五版)> <数据结构(C语言第二版)>
- Microsoft Visual Studio Ultimate 2013 Update 2 RC 英文版--离线完整安装ISO+简体中文语言包
VS2013.2_RC_EN_Full.iso:名称:Microsoft Visual Studio 2013版本:Ultimate 2013 Update 2 RC语言:English在线下载:ht ...
- Type 'Insus.NET.PictureObject' in Assembly 'App_Code, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' is not marked as serializable.
昨晚想实现一个功能,需要把一个对象存储于ViewState中去,但在运行时,出现下面的异常. Type 'Insus.NET.PictureObject' in Assembly 'App_Code, ...