HTML5--web存储

随着互联网的快速发展,基于网页的应用越来越普遍,同时也变的越来越复杂,为了满足各种各样的需求,会经常性在本地存储大量的数据,传统方式我们以document.cookie来进行存储的,但是由于其存储大小只有4k左右,存储数据量小,并且解析也相当的复杂,给开发带来诸多不便,HTML5规范则提出解决方案。
Storage 存储 :window.sessionStorage和window.localStorage
(向本地保存数据,有可能在浏览器内存里面,有可能在硬盘上面.)
数据存储都是以键值对的形式进行存储的。

sessionStorage

会话存储,容量5M。在同一个窗口下的数据可以共享,但当用户关闭浏览器窗口后,数据会被删除。
sessionStorage的用法:

  1. window.sessionStorage.setItem(key,value)设置储存内容。再次给同一个key赋值,会覆盖之前的数据
  2. window.sessionStorage.getItem(key)获取存储数据
  3. window.sessionStorage.removeItem(key)删除key
  4. window.sessionStorage.clear()清除所有数据

localStorage

本地存储,容量20M。特点: 永久生效,除非手动删除,清理垃圾,存储在硬盘上。可以多窗口共享,设置、读取方便; 只能存储字符串,可以将对象json.stringify(),编码后储存; 可能存储在浏览器内存和硬盘上
loaclStorage方法:
a) window.关闭窗口数据销毁
b) window.loaclStorage数据存储在硬盘上,永久存储
1. window.localStorage.setItem(key,walue)设置储存内容
i. 再次给同一个key赋值,会覆盖之前的数据。
2. window. localStorage.getItem(key)获取存储数据
3. window. localStorage.removeItem(key)删除key
4. window. localStorage.clear()清除所有数据
3. 打开页自动获取数据:window.onload = function(){获取数据}

案例:记住用户的密码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <label for="">
            用户名:<input type="text" class="userName" />
        </label>
        <br /><br />
        <label for="">
            密  码:<input type="password" class="pwd" />
        </label>
        <br /><br />
        <label for="">
            <input type="checkbox" class="cb" />
            记住密码
        </label>
        <br /><br />
        <button class="btn">登录</button>
    </body>
</html>
<script>
    var userName = document.querySelector('.userName'),
        pwd = document.querySelector('.pwd'),
        cb = document.querySelector('.cb');
        btn = document.querySelector('.btn');

     //  登录时,判断是否选择记住密码
        btn.onclick = function(){
             // 如果记住密码勾选上,表示要存储用户信息
            if (cb.checked) {
                window.localStorage.setItem('userName',userName.value);
                window.localStorage.setItem('pwd',pwd.value);
            } else{
                // 否则清除用户信息
                window.localStorage.removeItem('userName');
                window.localStorage.removeItem('pwd');
            }
        }
        // 当页面加载的时候,自动获取用户名、密码 填充到表单
        userName.value = window.localStorage.getItem('userName');
        pwd.value = window.localStorage.getItem('pwd');
        cb.checked = true;
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值