加载中...

HTML5 - 本地存储

window.sessionStorage

window.localStorage

  之前,这些都是由 cookie 完成的。但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不高。

本地存储特性

1、数据存储在用户浏览器中

2、设置、读取方便、甚至页面刷新不丢失数据

3、容量较大,sessionStorage约5M、localStorage约20M

4、只能存储字符串,可以将对象JSON.stringify() 编码后存储

 

window.sessionStorage(针对一个 session 的数据存储)

1、生命周期为关闭浏览器窗口

2、在同一个窗口(页面)下数据可以共享

3. 以键值对的形式存储使用

 

常用方法

存储数据:

sessionStorage.setltem(key, value)
获取数据:

sessionStorage.getltem(key)

删除数据:

sessionStorage.removeltem(key)

删除所有数据:

sessionStorage.clear()

 

window.localStorage

1、声明周期永久生效,除非手动删除 否则关闭页面也会存在

2、可以多窗口(页面)共享(同一浏览器可以共享)

3. 以键值对的形式存储使用

 

常用方法

存储数据:

localStorage.setItem(key, value)

获取数据:

localStorage.getItem(key)

删除数据:

localStorage.removeItem(key)

删除所有数据:

localStorage.clear()

 

记住用户(使用localStorage):

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        用户名:<input type="text" class="username">
        记住用户名<input type="checkbox" class="remember"/>
        
        <script type="text/javascript">
            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>

 

posted @ 2020-02-07 16:24  royal6  阅读(158)  评论(0编辑  收藏  举报