zoukankan      html  css  js  c++  java
  • HTML5深入学习之数据存储

    概述

      本来,数据存储都是由 cookie 完成的,但是 cookie 不适合大量数据的存储,cookie 速度慢且效率低。

      现在,HMLT5提供了两种在客户端存储数据的办法:

    1. localStorage(没有时间限制的数据存储,即当我们设置了之后浏览器关闭后再去访问它依然存在)
    2. sessionStorage(针对一个session的数据存储,当我们设置了之后浏览器关闭后再去访问他就消失了)

    两者之间的实测对比

      localStorage

          首先我们先运行这段代码:    

    localStorage.setItem('name', 'lisi');
    alert(localStorage.getItem('name'));

           然后浏览器则弹出显示:

          接着,我们注释掉localStorage.setItem('name', 'lisi');,关闭浏览器重新访问,依然可以显示:

      

       sessionStorage

          步骤大概和设置 localStorage 一样,但是浏览器关闭后再次访问已不见 sessionStorage

          浏览器关闭前:

          

          浏览器关闭后再次访问:

          

    实例(记住用户名与密码)-----使用 localStorage

    常用API:

    • setItem() => 设置要存储得数据
    • getItem() => 获取存储的数据
    • removeItem() => 移除存储的数据

    代码:

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8" />
        <title>独秀不爱秀</title>
    </head>
    <body>
        用户名: <input type="text" name="username" id="username"><br>
        密码:  <input type="password" name="pwd" id="pwd"><br>
        记住用户名与密码:  <input type="checkbox" name="save" id="save">
        <script type="text/javascript">
            var username = document.getElementsByName('username')[0];
            var pwd = document.getElementsByName('pwd')[0];
            var save = document.getElementsByName('save')[0];
    
            if (localStorage.getItem('username') && localStorage.getItem('pwd')) {
                // 将获取到的值添加到 HTML
                username.value = localStorage.getItem('username');
                pwd.value = localStorage.getItem('pwd');
            }
    
            save.addEventListener('click', function () {
                if (save.checked) {
                    localStorage.setItem('username', username.value);
                    localStorage.setItem('pwd', pwd.value);
                } else {
                    localStorage.removeItem('username');
                    localStorage.removeItem('pwd');
                }
            });
        </script>
    </body>
    </html>
  • 相关阅读:
    区块链技术驱动金融.mobi
    ProcessExplorer 工具下载
    免费的论文查重网站
    接口可以继承接口吗?
    比较中的自动拆装箱
    Java语言中的异常处理
    Java类加载过程
    通过反射访问父类的私有成员
    final关键字详解
    MVC 控制台 +log4net 存入数据库
  • 原文地址:https://www.cnblogs.com/duxiu-fang/p/11109520.html
Copyright © 2011-2022 走看看