H5本地存储:sessionStorage和localStorage
作者:心叶
时间:2018-05-01 18:30
H5提供了二种非常好用的本地存储方法:sessionStorage和localStorage,下面分别介绍一下:
1.sessionStorage:保存的是一个会话的数据,也就是说只在一次会话中有效,关闭就会销毁数据,不是持久的本地数据存储,只是一个会话的存储;
2.localStorage:本地数据持久化存储,在操作上和第一种没有什么区别,只是存储时间上不同。
第一步:基本操作。
1.把value存储到key字段:.setItem( key, value)。
sessionStorage.setItem("key", "value");
localStorage.setItem("key", "value");
2.获取指定key本地存储的值:.getItem(key)。
var value=sessionStorage.getItem("key");
var value=localStorage.getItem("key");
3.删除指定key本地存储的值:.removeItem( key)。
sessionStorage.removeItem("key");
localStorage.removeItem("key");
4.清除所有的key/value:.clear()。
sessionStorage.clear();
localStorage.clear();
第二步:其它操作。
storage除了可以用上面说到的方法获取和存储数据,还可以和普通的对象一样,使用点操作和[]来控制数据(下面以localStorage为例子):
var storage = window.localStorage;
storage.info='通过点设置数据';
//通过[]获取数据
var infoValue=storage['info'];
可以通过storage的key()和length实现数据的遍历:
var storage = window.localStorage;
for (var i = 0, len = storage.length; i < len; i++) {
var key = storage.key(i);
var value = storage.getItem(key);
console.log(key + "=" + value);
}
第三步:storage事件(针对localStorage)。
localStorage提供了一个事件storage,当键值改变或者clear的时候,就可以触发storage事件(注册storage和改变值要在不跨域的情况下存在于二个页面),如下面的例子:
//页面A.html里面的js代码(为了简化代码,注册事件没有考虑兼容性)
window.addEventListener("storage", function (event) {
alert(event.newValue);
});
//页面B.html里面的js代码
localStorage.clear();
localStorage.setItem('key', 'value');
把页面A.html和B.html放正同一个域名下的HTTP服务器里,先打开A.html页面,再打开B.html页面,就可以看见效果了。
上面A.html注册事件的event对象一共有下面几个属性:
1.key:字符串类型,表示被修改,删除或添加的条目的key值;
2.oldValue:表示之前的值,如果是添加一个条目就返回null;
3.newValue:表示现在的新值,如果是添加一个条目就返回null;
4.url/uri:字符串类型,表示触发这个事件的页面地址。
H5本地存储:sessionStorage和localStorage的更多相关文章
- H5本地存储sessionStorage和localStorage的区别
sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁.因此sessionStorage不是一种持久化的本地 ...
- 本地存储sessionStorage 、 localStorage 、cookie整理
sessionStorage . localStorage .cookie 的区别 sessionStorage 和 localStorage 是HTML5 Web Storage API 提供的,可 ...
- web本地存储 sessionStorage 和 localStorage
1.sessionStorage 临时存储 为每一个数据源维持一个存储区域,在浏览器打开期间存在,包括页面重新加载. 2.localStorage 长期存储 与sessionStorage一样,但在 ...
- 利用H5本地存储localStorage、sessionStorage
最近的业务处理上,要使用cookie缓存储一下数据,公司的cookie还搞出点问题.而用户的浏览器都是利用微信的内置,普遍支持h5的本地存储.于是利用了这个... 现代浏览器普遍开始支持H5本地存储, ...
- H5本地存储详细使用教程(localStorage + JSON数据存储应用框架)
一.Web Storage教程 1.概述: 对于Web Storage来说,实际上是Cookies存储的进化版.如果了解Cookie的人几乎一看Web Storage就会用,如果你从来没用过没了解过C ...
- h5 本地存储
H5本地存储有两个API,一个是Web Storage,还有一个是Web SQL.不管是哪一个,都是基于JavaScript语言来使用,接下来我就教你怎么使用H5本地存储,本文篇幅较大,JS代码较多, ...
- H5本地存储(转)
H5本地存储 一.本地存储由来的背景 众所周知Html4时代Cookie的大小.格式.存储数据格式等限制,网站应用如果想在浏览器端存储用户的部分信息,那么只能借助于Cookie.但是 ...
- H5本地存储详解
H5之前存储数据一般是通过 cookie ,但是 cookie 存的数据容量比较少.H5 中扩充了文件存储能力,可存储多达 5MB 的数据.现在就实际开发经验来对本地存储 ( Storage ) 的使 ...
- 本地存储 cookie,session,localstorage( 一)基本概念及原生API
http://www.w3school.com.cn/html5/html_5_webstorage.asp http://adamed.iteye.com/blog/1698740 localSto ...
- HTML5教程之本地存储SessionStorage
SessionStorage: 将数据保存在session对象中,所谓session是指用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间会话,也就是用户浏览这个网站所花费的时间就是sess ...
随机推荐
- PromQL全解析
PromQL(Prometheus Query Language)为Prometheus tsdb的查询语言.是结合grafana进行数据展示和告警规则的配置的关键部分. 本文默认您已了解Promet ...
- 写下载的时候,axios的responseType: "blob"(一定要修改)
download(data, fileName) { // window.URL.createObjectURL创建一个地址. const url = window.URL.c ...
- 几行代码把Chrome搞崩溃之:HTML5 MP3录音由ScriptProcessorNode升级成AudioWorkletNode采坑记
关键词: STATUS_ACCESS_VIOLATION AudioContext AudioWorkletNode audioWorklet addModule resume suspended c ...
- Python 列表的(元素的删除)
del:根据索引值删除元素 del 可以删除列表中的单个元素,格式为: del listname[index] 其中,listname 表示列表名称,index 表示元素的索引值.del 也可以删除中 ...
- 矩池云安装gdal五种解决方案
1.最快最靠谱的是conda conda install gdal 命令行conda/pip search gdal查看版本,选择合适的版本,例如:conda search gdal 命令行conda ...
- go RWMutex 的实现
Overview go 里面的 rwlock 是 write preferred 的,可以避免写锁饥饿. 读锁和写锁按照先来后到的规则持有锁,一旦有协程持有了写锁,后面的协程只能在写锁被释放后才能得到 ...
- PHP高并发商城秒杀
1.什么是秒杀 秒杀活动是一些购物平台推出的集中人气的活动,一般商品数量很少,价格很便宜,限定开始购买的时间,会在以秒为单位的时间内被购买一空.比如原价千元甚至万元的商品以一元的价格出售,但数量只有一 ...
- vlan端口隔离配置
对于大型网络来说,vlan是一种不错的解决办法,但对于有些项目,项目本身不需要不同vlan之间进行互访,比如有些监控项目就只需要内网访问,那么就没有必要创建vlan了,用户如果还将不同的端口划入不同的 ...
- SpringMVC工作流程 --通透较详细
SpringMVC工作流程 SpringMVC工作流程 流程说明(重要): (1)客户端发送一个http请求给前端控制器(DispatcherServlet): (2)前端控制器(DispacherS ...
- springsecurity-01-0511
springsecurity-01-0511课堂代码 BaseController package com.springsecurity.springsecurity.controller; impo ...