HTML5之Web存储

HTML5 Web存储介绍

使用HTML5可以在本地存储用户的浏览数据。早些时候,本地存储使用的是cookies。但是Web 存储需要更加的安全与快速. 这些数据不会被保存在服务器上,但是这些数据只用于用户请求网站数据上.它也可以存储大量的数据,而不影响网站的性能.

数据以 键/值 对存在, web网页的数据只允许该网页访问使用。

俩种方式:sessionStorage和localStorage

  • 客户端存储:sessionStorage 方法针对一个 session 进行数据存储。当用户关闭浏览器窗口后,数据会被删除。
  • 硬盘存储:localStorage 对象存储的数据没有时间限制。第二天、第二周或下一年之后,数据依然可用。

注意:二者写法完全相同,只是作用不同

存储的方法

  window.sessionStorage.setItem(); 
  window.localStorage.setItem(); 

获取存储值的方法

 window.sessionStorage.getItem() 
 window.localStorage.getItem() 

清除存储值得方法

window.sessionStorage.clear(); 
window.localStorage.clear(); 

案例

案例采用sessionStorage存储方式,效果图如下:

全部代码: 

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        .t1 {
            width: 500px;
            height: 300px;
            border: 1px solid silver;
        }

        .t1 input {
            width: 400px;
            outline: none;

        }

        .t1 textarea {
            width: 400px;
            height: 150px;
            resize: none;
            outline: none;

        }

        .t2 {
            width: 500px;
            height: 300px;
            border: 1px solid silver;
            overflow-y: scroll;
        }
    </style>
</head>
<body>
<div class="t1">
    <ul>
        <li>标题:<br/><input id="title" type="text"/></li>
        <li>内容:<br/><textarea id="content"></textarea></li>
        <li>
            <button id="btnsend">发表</button>
            <button id="clear">清除</button>
        </li>
    </ul>
</div>
<div class="t2">
</div>
<script>
    var msg = {
        title: document.getElementById("title"),
        content: document.getElementById("content"),
        btn: document.getElementById("btnsend"),
        clearbtn: document.getElementById("clear"),
        t2:document.getElementsByClassName ("t2")[0],

        //存储代码
        sendmsg: function (t, c) {
            var time = new Date();
            //用户看到的时间
            var usertime = time.toLocaleString();
            //总毫秒数
            var totaltime = time.getTime();
            var data = {username: "小可爱", title: t, content: c, time: usertime};
            window.sessionStorage.setItem(totaltime, JSON.stringify(data));//存储代码   totaltime是键值  JSON.stringify(data)是数据(必须是字符串)
            msg.readmsg();   //以后要读取信息
        },
        //读取信息
        readmsg: function () {
            msg.t2.innerHTML = "";
            for (var i = 0; i < window.sessionStorage.length; i++) {
                var key = window.sessionStorage.key(i);   //取键值
                var data = JSON.parse(window.sessionStorage.getItem (key));
                msg.createElements(data);
            }
        },
        createElements:function (Data){   //将读取到的信息显示在t2位置
            var ul=document.createElement ("ul");
            var li=document.createElement ("li");
            li.innerHTML ="昵称:"+Data["username"]+ "  ,标题:"+ Data["title"]+"  ,内容:"+Data["content"]+ "  ,时间:"+Data["time"];
            ul.appendChild (li);
            msg.t2.appendChild(ul);
        }

    };

    msg.btn.addEventListener ("click",function (){
        var title=msg.title.value;
        var content=msg.content.value;
        msg.sendmsg(title,content);
    });
    msg.clearbtn.addEventListener ("click",function (){
        window.sessionStorage.clear();
        msg.readmsg();
    });
    window.onload = msg.readmsg();
</script>
</body>
</html>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值