当前位置:网站首页>Web APls 阶段——第十四节——本地存储
Web APls 阶段——第十四节——本地存储
2022-06-27 18:05:00 【123加油^O^】
文章目录
学习目标
- 能够写出 sessionStorage 数据的存储以及获取
- 能够写出 localStorage 数据的存储以及获取
- 能够说出它们两者的区别
1. 本地存储
随着互联网的快速发展,基于网页的应用越来越普遍,同时也变的越来越复杂,为了满足各种各样的需求,会经常性在本地存储大量的数据,HTML5规范提出了相关解决方案。
本地存储特性
1、数据存储在用户浏览器中
2、设置、读取方便、甚至页面刷新不丢失数据
3、容量较大,sessionStorage约5M、localStorage约20M
4、只能存储字符串,可以将对象JSON.stringify() 编码后存储
2. window.sessionStorage
1、生命周期为关闭浏览器窗口
2、在同一个窗口(页面)下数据可以共享
3. 以键值对的形式存储使用
存储数据:
sessionStorage.setItem(key, value)
获取数据:
sessionStorage.getItem(key)
删除数据:
sessionStorage.removeItem(key)
删除所有数据:
sessionStorage.clear()
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<input type="text">
<button class="set">存储数据</button>
<button class="get">获取数据</button>
<button class="remove">删除数据</button>
<button class="del">删除所有的数据</button>
<script> //1.获取元素 var ipt=document.querySelector('Input'); var set=document.querySelector('.set'); var get=document.querySelector('.get'); var remove=document.querySelector('.remove'); var del = document.querySelector('.del'); set.addEventListener('click',function(){
//当我们点击了之后,就可以把表单里面的值存储起来 var val=ipt.value; sessionStorage.setItem('uname',val); sessionStorage.setItem('pwd',val); }) get.addEventListener('click',function(){
//当我们点击了之后,就可以把表单里面的值获取起来 console.log(sessionStorage.getItem('uname')); }) remove.addEventListener('click',function(){
//当我们点击了之后,就可以把表单里面的值删除 sessionStorage.removeItem('uname'); }) del.addEventListener('click', function() {
// 当我们点击了之后,清除所有的 sessionStorage.clear(); }); </script>
</body>
</html>
运行结果:
3. window.localStorage
- 声明周期永久生效,除非手动删除, 否则关闭页面也会存在
- 可以多窗口(页面)共享(同一浏览器可以共享)
- 以键值对的形式存储使用
存储数据:
localStorage.setItem(key, value)
获取数据:
localStorage.getItem(key)
删除数据:
localStorage.removeItem(key)
删除所有数据:
localStorage.clear()
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<input type="text">
<button class="set">存储数据</button>
<button class="get">获取数据</button>
<button class="remove">删除数据</button>
<button class="del">清空所有数据</button>
<script> var ipt = document.querySelector('input'); var set = document.querySelector('.set'); var get = document.querySelector('.get'); var remove = document.querySelector('.remove'); var del = document.querySelector('.del'); set.addEventListener('click', function() {
var val = ipt.value; localStorage.setItem('username', val); }) get.addEventListener('click', function() {
console.log(localStorage.getItem('username')); }) remove.addEventListener('click', function() {
localStorage.removeItem('username'); }) del.addEventListener('click', function() {
localStorage.clear(); }) </script>
</body>
</html>
运行结果:
3 案例:记住用户名
如果勾选记住用户名, 下次用户打开浏览器,就在文本框里面自动显示上次登录的用户名
案例分析
- 把数据存起来,用到本地存储
- 关闭页面,也可以显示用户名,所以用到localStorage
- 打开页面,先判断是否有这个用户名,如果有,就在表单里面显示用户名,并且勾选复选框
- 当复选框发生改变的时候 change事件
- 如果勾选,就存储,否则就移除
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<input type="text" id="username">
<input type="checkbox" name="" id="remember">记住用户名
<script> var username=document.querySelector('#username'); var remember=document.querySelector('#remember'); if(localStorage.getItem('username')){
username.value=localStorage.getItem('username'); remember.checked=true; } remember.addEventListener('change',function(){
if(this.checked){
localStorage.setItem('username',username.value) }else{
localStorage.removeItem('username'); } }) </script>
</body>
</html>
边栏推荐
- Online text batch inversion by line tool
- 通过 Cargo 管理 Rust 项目
- ABAP-CL_OBJECT_COLLECTION工具类
- 作为软件工程师,给年轻时的自己的建议(下)
- Substrate及波卡一周技术更新速递 20220425 - 20220501
- 1030 Travel Plan
- 爬取国家法律法规数据库
- Bit. Store: long bear market, stable stacking products may become the main theme
- One week technical update express of substrate and Boca 20220425 - 20220501
- 券商经理的开户二维码开户买股票安全吗?有谁知道啊
猜你喜欢
随机推荐
Pointers and structs
网络上开户买股票是否安全呢?刚接触股票,不懂求指导
Bit.Store:熊市漫漫,稳定Staking产品或成主旋律
Doctoral Dissertation of the University of Toronto - training efficiency and robustness in deep learning
Character interception triplets of data warehouse: substrb, substr, substring
GIS遥感R语言学习看这里
Golang map 并发读写问题源码分析
One to one relationship
使用MySqlBulkLoader批量插入数据
DCC888 :Register Allocation
经纬度分析
嵌入式软件开发中必备软件工具
数仓的字符截取三胞胎:substrb、substr、substring
Bit.Store:熊市漫漫,稳定Staking产品或成主旋律
Erreur Keil de Huada Single Chip Computer La solution de Weak
字典树(复习)
散列表(Hash)-复习
Accumulating power in the middle stage, UFIDA IUAP builds a new base for digital intelligence of social enterprises
1028 List Sorting
数智化进入“深水区”,数据治理是关键









