zoukankan      html  css  js  c++  java
  • HTML5中的Web Storage(sessionStorage||localStorage)理解与简单实例

    Web Storage是什么?
      Web Storage功能,顾名思义,就是在Web上针对client本地储存数据的功能,详细来说Web Storage分为两种;

    sessionStorage:
      将数据保存在session对象中,所谓session是指用户在浏览某个站点时,从进入站点到浏览器关闭所经过的这段时间,也就是用户浏览这个站点所花费的时间。session对象能够用来保存在这段时间内所要求保存的不论什么数据。


    localStorage:
      将数据保存在client本地的硬件设备(通常指硬盘,当然能够是其它的硬件设备)中,即是浏览器被关闭了,该数据仍然存在,下次打开浏览器訪问站点时,仍然能够继续使用。


    sessionStorage与localStorage差别:
      这两者的差别在于sessionStorage为暂时保存,而localStorage为永久保存,下一节,我们将结合实例深入学习!
    为什么要引出webStorage?
    原因是: cookies存储永久数据存在一下几个问题:
    1、cookies的大小被限制在4KB;
    2、cookies是随HTTP事务一起发送的,因此会浪费一部分发送cookies时所使用的带宽;
    3、cookies操作繁琐复杂; 

     
    1、1 SessionStorage:
      将数据保存在session对象中,所谓session是指用户在浏览某个站点时,从进入站点到浏览器关闭所经过的这段时间会话,也就是用户浏览这个站点所花费的时间就是session的生命周期。session对象能够用来保存在这段时间内所要求保存的不论什么数据。

    此对象主要有两个方法:
    保存数据:sessionStorage.setItem(Key, value);
    读取数据:sessionStorage.getItem(Key);
    Key:表示你要存入的键名称,此名称能够随便命名,能够依照变量的意思来理解。
    Value:表示值,也就是你要存入Key中的值,能够依照变量赋值来理解。

    用法:
    保存数据:sessionStorage.setItem("website", "W3Cfuns.com");
    读取数据:sessionStorage.getItem("website");

    exaple:
    <!DOCTYPE HTML>
    <html>
        <head>
            <meta charset="utf-8">
            <title>本地存储SessionStorage</title>
            <script type="text/javascript">
                    window.onload = function()
                    {
                            alert("当你关闭此页面或者关闭浏览器的时候,sessionStorage中保存的数据才会消失,也就是说又一次打开此页面的时候,点击获取数据,将不会显示不论什么数据,刷新页面无效。 由此能够证明,sessionStorage的生命周期为,某个用户浏览站点时,从进入到离开的这段时间。")  
                            //首先获得body中的3input元素
                            var msg = document.getElementById("msg");
                            var getData = document.getElementById("getData");
                            var setData = document.getElementById("setData");
                            setData.onclick = function(){//存入数据
                                    if(msg.value){
                                            sessionStorage.setItem("data", msg.value);
                                            alert("信息已保存到data字段中");
                                    }else{
                                            alert("信息不能为空");
                                    }
                            }  
                            getData.onclick = function(){//获取数据
                                    var msg = sessionStorage.getItem("data");
                                    if(msg){
                                            alert("data字段中的值为:" + msg);
                                    }else{
                                            alert("data字段无值!");
                                    }
                            }
                    }
            </script>
        </head>
        <body>
            <input id="msg" type="text"/>
            <input id="setData" type="button" value="保存数据"/>
            <input id="getData" type="button" value="获取数据"/>
        </body>
    </html>

    1、2 LocalStorage:
    用法与SessionStorage如出一辙,例如以下代码所看到的:
    此对象主要有两个方法:
    保存数据:localStorage.setItem(Key, value);
    读取数据:localStorage.getItem(Key);
    Key:表示你要存入的键名称,此名称能够随便命名,能够依照变量的意思来理解。
    Value:表示值,也就是你要存入Key中的值,能够依照变量赋值来理解。

    用法:
    保存数据:localStorage.setItem("website", "W3Cfuns.com");
    读取数据:localStorage.getItem("website");
    exaple:
    <!DOCTYPE HTML>
    <html>
        <head>
            <meta charset="utf-8">
            <title>本地存储LocalStorage</title>
            <script type="text/javascript">
                    window.onload = function()
                    {
                            alert("当你关闭此页面或者关闭浏览器的时候,localStorage中保存的数据才会消失,也就是说又一次打开此页面的时候,点击获取数据,能够取到数据。")
                            //首先获得body中的3input元素
                            var msg = document.getElementById("msg");
                            var getData = document.getElementById("getData");
                            var setData = document.getElementById("setData");
                            setData.onclick = function(){//存入数据
                                    if(msg.value){
                                            localStorage.setItem("data", msg.value);
                                            alert("信息已保存到data字段中");
                                    }else{
                                            alert("信息不能为空");
                                    }
                            } 
                            getData.onclick = function(){//获取数据
                                    var msg = localStorage.getItem("data");
                                    if(msg){
                                            alert("data字段中的值为:" + msg);
                                    }else{
                                            alert("data字段无值!");
                                    }
                            }
                    }
            </script>
        </head>
        <body>
            <input id="msg" type="text"/>
            <input id="setData" type="button" value="保存数据"/>
            <input id="getData" type="button" value="获取数据"/>
        </body>
    </html>

  • 相关阅读:
    RSAUtils非对称加密
    计算日期之间的时间差
    面向注解的切面实现
    多个切面执行同一个方法
    spring切面拦截实现
    三种实现日志过滤器的方式 (过滤器 (Filter)、拦截器(Interceptors)和切面(Aspect))
    redis实现 msetex和 getdel命令
    mvn修改版本号命令
    shell脚本实例-while实现批量创建用户
    shell脚本实例-for实现批量主机的探测
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/3779953.html
Copyright © 2011-2022 走看看