概述

  本来,数据存储都是由 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>

HTML5深入学习之数据存储的更多相关文章

  1. iOS学习笔记--数据存储

    iOS应用数据存储的常用方式 XML属性列表(plist)归档 Preference(偏好设置) NSKeyedArchiver归档(NSCoding) SQLite3 Core Data 1. XM ...

  2. Android开发学习——android数据存储

    Android的存储 Android中的数据存储方式及其存储位置 SharedPrefrence存储 1). 位置           /data/data/packageName/shared_pr ...

  3. AppCan学习笔记--数据存储及listview简单应用

    AppCan AppCan开发平台简介 AppCan是Hybrid App开发框架即混合开发框架,有官方提供底层功能使用API HTML5和JavaScript只是作为一种解析语言,真正调用的都是Na ...

  4. IOS数据存储之Sqlite数据库

    前言: 之前学习了数据存储的NSUserDefaults,归档和解档,沙盒文件存储,但是对于数据量比较大,需要频繁查询,删除,更新等操作的时候无论从效率上还是性能上,上述三种明显不能满足我们的日常开发 ...

  5. IOS数据存储之文件沙盒存储

    前言: 之前学习了数据存储的NSUserDefaults,归档和解档,对于项目开发中如果要存储一些文件,比如图片,音频,视频等文件的时候就需要用到文件存储了.文件沙盒存储主要存储非机密数据,大的数据. ...

  6. 理解 Android 本地数据存储 API

    利用首选项.SQLite 和内部及外部内存 API 对于需要跨应用程序执行期间或生命期而维护重要信息的应用程序来说,能够在移动设备上本地存储数据是一种非常关键的功能.作为一名开发人员,您经常需要存储诸 ...

  7. Android中的数据存储(二):文件存储 2017-05-25 08:16 35人阅读 评论(0) 收藏

    文件存储 这是本人(菜鸟)学习android数据存储时接触的有关文件存储的知识以及本人自己写的简单地demo,为初学者学习和使用文件存储提供一些帮助.. 如果有需要查看SharedPreference ...

  8. Android中的数据存储(一):SharedPreferences 2017-05-24 10:35 64人阅读 评论(1) 收藏

    SharedPreferences 这是本人(菜鸟)学习android数据存储时接触的有关SharedPreferences的知识以及本人自己写的一个简单地demo,为初学者学习和使用SharedPr ...

  9. (转)HTML5开发学习(2):本地存储之localStorage 、sessionStorage、globalStorage

    原文:http://www.cnblogs.com/xumingxiang/archive/2012/03/25/2416386.html HTML5开发学习(2):本地存储之localStorage ...

随机推荐

  1. ESP8266MOD、刷可以使用AT指令的固件、作为客户端向贝壳云端发送固定数据

    硬件部分 1. ESP8266MOD 2. Micro USB数据线一根 实物图:(小灯不必) 硬件准备好之后,直接用数据线连接到电脑即可,然后找到所对应的COM口,记下来备用! 为ESP8266刷A ...

  2. c#-泛型、协变、逆变

    泛型简单介绍: 可以使用泛型声明的元素:类.接口.方法.委托 泛型之前:泛型之前使用object封装不同类型的参数,缺点:性能差.运行时判断类型(不安全)...泛型是在编译期间转为实际类型副本,所以性 ...

  3. 利用easyui的行编辑自动增加一行来进行增删有详细注解

    jQuery EasyUI 框架提供了创建网页所需的一切,帮助您轻松建立站点. easyui 是一个基于 jQuery 的框架,集成了各种用户界面插件. easyui 提供建立现代化的具有交互性的 j ...

  4. java 构造方法+this+super

     构造方法的格式: 修饰符 构造方法名(参数列表) { }  构造方法的体现: 构造方法没有返回值类型.也不需要写返回值.因为它是为构建对象的,对象创建完,方法就执行结束. 构造方法名称必须和类名保持 ...

  5. Windbg源代码窗口的使用

    在 WinDbg 中,源窗口显示已加载到调试器中的源文件. 如何打开源代码窗口 通过菜单File--->Open Source File打开源代码文件,窗口随之打开 通过快捷键Ctrl+O 通过 ...

  6. 【数论&线段树】【P4140】[清华集训2015]奇数国

    Description 有一个长为 \(n\) 的序列,保证序列元素不超过 \(10^6\) 且其质因数集是前60个质数集合的子集.初始时全部都是 \(3\),有 \(m\) 次操作,要么要求支持单点 ...

  7. ELK原理

    为什么要使用Elasticsearch?​ 因为在我们中的数据,会随着时间变的非常多,若采用以往的模糊查询,模糊查询前置通配符,如:"%aa%",会放弃索引,导致数据表查询将变成全 ...

  8. ros使用pppoe拨号获取ipv6,并且下发IPV6的dns到客户机win7

    原文: https://www.mobile01.com/topicdetail.php?f=110&t=3405680 http://forum.mikrotik.com/viewtopic ...

  9. Spring MVC标签

    1.我们平时使用表单的时候,一般都是这样: <form id="form" action="Login.do" method="post&quo ...

  10. react-native项目如何在xcode上打开ios项目

    如何打开ios项目? 导入或者双击ios/thirtydays.xcodeproj