HTML5中的Web Storage(sessionStorage||localStorage)理解与简单实例

时间:2022-08-26 08:22:33
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中保存的数据才会消失,也就是说又一次打开此页面的时候,点击获取数据,将不会显示不论什么数据,刷新页面无效。\r\n由此能够证明,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>