zoukankan      html  css  js  c++  java
  • 本地存储 localStorage/sessionStorage/cookie

    cookie是个基础的东西。是服务器发送到客户端,存储在客户端的一小段数据。可以存储一些配置信息,客户标识信息等。
    用户下次访问这个网站时,会把上次网站发来的cookie一同发送回去。
    cookie保存在客户端,服务器能够知道其中的信息。
    session保存在服务器,客户端不知道其中的信息;

    一、、h5之前,web本地存储都是由cookie完成,缺点:不适合大量数据存储2
    与服务器的请求,速度慢,效率低。

    二、h5提供了两种在客户端存储数据的新方法:
    1、localStorage:无时间限制,除非手工删除。
    2、sessionStorage:会话存储,浏览器关闭就销毁了。

    localstorage是window的一个属性,因此,通常都是写window.localStorage,
    存储数据的方法就是直接给window.localStorage添加一个属性,例如:
    window.localStorage.a 或者 window.localStorage["a"]。它的读取、写、删除
    操作方法很简单,是以键值对的方式存在的,如下:

    localStorage.a = 3;//设置a为"3"
    localStorage["a"] = "sfsf";//设置a为"sfsf",覆盖上面的值
    localStorage.setItem("b","isaac");//设置b为"isaac"
    var a1 = localStorage["a"];//获取a的值
    var a2 = localStorage.a;//获取a的值
    var b = localStorage.getItem("b");//获取b的值
    localStorage.removeItem("c");//清除c的值
    localStorage.clear(); // 清除了所有

    Web Storage的概念和cookie相似,区别是它是为了更大容量存储设计的。Cookie的大小是受限的,并且每次你请求一个新的页面的时候Cookie都会被发送过去,这样无形中浪费了带宽,另外cookie还需要指定作用域,不可以跨域调用。
    除此之外,Web Storage拥有setItem,getItem,removeItem,clear等方法,不像cookie需要前端开发者自己封装setCookie,getCookie。
    但是Cookie也是不可以或缺的:Cookie的作用是与服务器进行交互,作为HTTP规范的一部分而存在 ,而Web Storage仅仅是为了在本地“存储”数据而生(来自@otakustay 的纠正)

    案例1

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
    <meta charset="UTF-8">
    <title>.html</title>
    <style>
    </style>
    <script src="jquery-1.7.2.min.js"></script>
    <script type="text/javascript">
    $(function(){
    $("#btn1").click(function(){
    localStorage.setItem("aa",$("#text").val());
    });

    $("#btn2").click(function(){
    $("#msg").html(localStorage.getItem("aa"));
    });

    });


    </script>
    </head>
    <body>
    <div id="msg" style="margin: 10px 0; border: 1px solid black; padding: 10px; 300px;
    height: 100px;">
    </div>
    <input type="text" id="text" />
    <button id="btn1" >
    保存数据</button>
    <button id="btn2">
    读取数据</button>
    </body>
    </html>

    案例2

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <style type="text/css">
    textarea {
    500px;
    height: 200px;
    }
    </style>
    </head>
    <body>
    <div>
    <h2>简单的web存储留言板</h2>
    <textarea id="t1"></textarea>
    <br />
    <input type="button" class="button" onclick="addInfo()" value="留言" />
    <input type="button" class="button" onclick="cleanInfo()" value="清除留言" />
    <br />
    <hr />
    <label id="shows"></label>
    <textarea id="show" readonly="readonly"></textarea>
    </div>
    <script type="text/javascript">
    //使用HTML5 Web存储的localStorage方式进行编写一个Web页面。
    //功能是一个简易的Web留言板。留言板信息可以永久保存。并能清楚留言板内容。参考页面如下图:

    function upInfo() {
    var info = window.document.getElementById("t1");
    var lStorage = window.localStorage;
    var show = window.document.getElementById("show");
    if (lStorage.myBoard) {
    show.value = window.localStorage.myBoard;
    }
    else {
    info = "还没有留言";
    show.value = "还没有留言";
    }
    }

    function addInfo() {
    var info = window.document.getElementById("t1");
    var lStorage = window.localStorage;
    if (lStorage.myBoard) {
    var date = new Date();
    lStorage.myBoard += t1.value + " 发表时间:" + date.toLocaleString() + " ";
    }
    else {
    var date = new Date();
    lStorage.myBoard = t1.value + " 发表时间:" + date.toLocaleString() + " ";
    }

    upInfo();
    }
    function cleanInfo() {
    window.localStorage.removeItem("myBoard");
    upInfo();
    }
    upInfo();
    </script>

    </body>
    </html>

  • 相关阅读:
    Elasticsearch (二) 索引
    Elasticsearch (一)搭建与启动
    IDEA 插件
    IDEA 导入华丽的皮肤
    Tomcat https 访问
    oracle系统视图SQL语句整理
    Java内存优化和性能优化的几点建议
    Tomcat配置SSL证书
    sublime集成MinGW,打造C/C++开发环境
    一个简单的Vue.js组件开发示例
  • 原文地址:https://www.cnblogs.com/annie211/p/6038331.html
Copyright © 2011-2022 走看看