二十八、HTML 5 Web 存储(H5存储 ★★★★)!!!

概念
webStorage(H5存储)是新型的本地存储技术,这种技术在今天的浏览器中基本上已经全部支持(IE8以上)。

H5存储中有两个对象:

localStorage:用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去除。
sessionStorage:用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。

localStorage的浏览器支持情况
在今天的浏览器中几乎已经没有不支持localStorage的情况了,官方明确指出在IE8及更高的浏览器中都支持。当然也不能排除一些用户依然在使用更低版本的浏览器,所以我们在使用localStorage的时候可以先行判断。

localStorage与cookie比较

cookie的优点:
可以与服务器交互,浏览器自动管理不同站点的cookie数据并自动发送到服务器。
可以由程序员设置过期时间实现灵活的页面交互(例如7天免登陆)

cookie的缺点:
明文存储,安全性受限
数据数量受限(由浏览器指定个数,一般为50个)
数据大小受限(一般为4KB)

localStorage的优点:
操作简单(相对于cookie)
不会自动发送到服务器
存储空间大(5MB-10MB,具体由各浏览器指定)
不会过期,不用担心数据过其而丢失数据

localStorage的缺点:
不会过期,如果不手动清除就一直存在可能会造成存储过多而影响网站性能
明文存储,安全性受限
这里着重的强调下:localStorage不会过期。

语法
保存数据:localStorage/sessionStorage.setItem(key,value);

读取数据:localStorage/sessionStorage.getItem(key);

删除单个数据:localStorage/sessionStorage.removeItem(key);

删除所有数据:localStorage/sessionStorage.clear();

练习

分别通过localStorage和sessionStorage存储用户信息 -> 查看特性

localStorage

<meta charset="utf-8" />
<script>
/*
明确需求:
    以前:存储信息都用cookie
    现在:都用H5存储 / HTML5 WEB 存储  / H5离线存储

好处:
    在cookie思想上升级
    存储空间升级
    减轻服务器压力(因为每次请求服务器都会带上cookie)

语法

    永久
    localStorage.setItem(键,值)
    localStorage.getItem(键)
    localStorage.removeItem(键)   

    临时(仅限一个窗口)  
    sessionStorage.setItem(键,值)
    sessionStorage.getItem(键)
    sessionStorage.removeItem(键)   
*/

// 分别通过localStorage和sessionStorage存储用户信息 -> 查看特性
// name=唐山赵子龙
// age=18

localStorage.setItem('name', '唐山赵子龙')
localStorage.setItem('age', 18)

console.log(localStorage.getItem('name'))
console.log(localStorage.getItem('age'))

在这里插入图片描述
在这里插入图片描述
sessionStorage

<meta charset="utf-8" />
<script>
/*
明确需求:
    以前:存储信息都用cookie
    现在:都用H5存储 / HTML5 WEB 存储  / H5离线存储

好处:
    在cookie思想上升级
    存储空间升级
    减轻服务器压力(因为每次请求服务器都会带上cookie)

语法

    永久
    localStorage.setItem(键,值)
    localStorage.getItem(键)
    localStorage.removeItem(键)   

    临时(仅限一个窗口)  
    sessionStorage.setItem(键,值)
    sessionStorage.getItem(键)
    sessionStorage.removeItem(键)   
*/

// 分别通过localStorage和sessionStorage存储用户信息 -> 查看特性
// name=唐山赵子龙
// age=18


sessionStorage.setItem('name', '唐山赵子龙')
sessionStorage.setItem('age', 18)

console.log(sessionStorage.getItem('name'))
console.log(sessionStorage.getItem('age'))
</script>

在这里插入图片描述
在这里插入图片描述

总结:

明确需求:
以前:存储信息都用cookie
现在:都用H5存储 / HTML5 WEB 存储 / H5离线存储

好处:
在cookie思想上升级
存储空间升级
减轻服务器压力(因为每次请求服务器都会带上cookie)

语法

永久
localStorage.setItem(键,值)
localStorage.getItem(键)
localStorage.removeItem(键)   

临时(仅限一个窗口)  
sessionStorage.setItem(键,值)
sessionStorage.getItem(键)
sessionStorage.removeItem(键)  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值