web存储包括两种:sessionStorage 和 localStorage(都是限定在文档源级别,非同源文档间无法共享)

1.sessionStorage 数据放在服务器上(IE不支持)
严格用于一个浏览器会话中存储数据,数据在浏览器关闭后会立即删除
2.localStorage 数据在客户端(低版本IE ( IE6, IE7 ) 不支持,并且不支持查询语言)
跨会话持久化地存储数据 localStorage与sessionStorage的区别:
localStorage只要在相同的协议、相同的主机名、相同的端口下,即同源就能读取/修改到同一份localStorage数据。
sessionStorage比localStorage更严苛一点,除了协议、主机名、端口外,还要求在同一窗口(也就是浏览器的标签页)下。 用法相同:(以sessionStorage为例)
1.添加:
sessionStorage.setItem(key, value);//value可以任何数据类型
2.获取:
sessionStorage.getItem(key);
3.删除:
sessionStorage.removeItem(key);//删除该存储对象中key的键值对
4.清除所有:
sessionStorage.clear();//清除该存储对象中所有的键值对
5.检索(查):
sessionStorage.key();//检索key[n]的值 实例:
    localStorage.setItem("x",1);//以"x"的名字存储一个数值
localStorage.x = 1;//直接向 Web 存储对象添加键/值对 localStorage.getItem("x");//获取数值
localStorage.x;//直接从 Web 存储对象中检索键/值对 localStorage.removeItem("x");//删除“x”项。
//removeItem是唯一通用的能删除单个名值对的方式。(因为IE8不支持delete操作符)
localStorage.clear();//全部删除。唯一能删除存储对象中所有名值对的方式 //将一个数组存储为字符串
var myArray = new Array('First Name', 'Last Name', 'Email Address');
localStorage.formData = JSON.stringify(myArray); //检索数组的字符串版本并将它转换成一个可用的 JavaScript 数组
var myArray = JSON.parse(localStorage.formData);

还有一种更实用的存取方法:
    var obj = {
name: 'doctorhou',
describe: '高大、威猛、帅气'
};
localStorage.setItem('test', JSON.stringify(obj));
JSON.parse(localStorage.getItem('test')); // 存储数据发生改变的时候(对应事件):window.onstorage

示例:

  <body>
<h3>这是我的用户名和密码</h3>
<div id="username"></div>
<div id="password"></div>
<script>
// 1.获取对象
var username = document.getElementById('username');
var password = document.getElementById('password'); // 2.将存储的数据写入到两个div中
username.innerHTML = localStorage.getItem('username');
password.innerHTML = localStorage.getItem('password'); // 3.做stroage的事件监听
window.onstorage = function(e) {
// StorageEvent
// console.log(e);
// console.log(e.key);修改的键
// console.log(e.oldValue);原来的值
// console.log(e.newValue);新值
username.innerHTML = e.newValue;
}
</script>
</body>
 

web存储机制(localStorage和sessionStorage)的更多相关文章

  1. HTML5 web存储之LocalStorage和sessionStorage

    什么是localstorage 前几天在老项目中发现有对cookie的操作觉得很奇怪,咨询下来是要缓存一些信息,以避免在URL上面传递参数,但没有考虑过cookie会带来什么问题: ① cookie大 ...

  2. 使用HTML5 Web存储的localStorage和sessionStorage方式

    localStorage(本地存储),可以长期存储数据,没有时间限制,一天,一年,两年甚至更长,数据都可以使用.sessionStorage(会话存储),只有在浏览器被关闭之前使用,创建另一个页面时同 ...

  3. HTML 5 Web 存储:localStorage和sessionStorage

    本文内容摘自http://www.w3school.com.cn/ 在客户端存储数据 HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储 sessi ...

  4. Web存储机制—sessionStorage,localStorage使用方法

    Web存储机制,在这里主要聊有关于Web Storage API提供的存储机制,通过该机制,浏览器可以安全地存储键值对,比使用cookie更加直观.接下来简单的了解如何使用这方面的技术. 基本概念 W ...

  5. web 本地存储 (localStorage、sessionStorage)

    web 本地存储 (localStorage.sessionStorage,cookie) localStorage(长期储存):即使关闭浏览器数据也不会删除,除非使用localStorage.cle ...

  6. [web 前端] web本地存储(localStorage、sessionStorage)

    cp from : https://blog.csdn.net/mjzhang1993/article/details/70820868 web 本地存储 (localStorage.sessionS ...

  7. web本地存储(localStorage、sessionStorage)

    web 本地存储 (localStorage.sessionStorage) 说明 对浏览器来说,使用 Web Storage 存储键值对比存储 Cookie 方式更直观,而且容量更大,它包含两种:l ...

  8. HTML5分析实战Web存储机制(Web Storage)

    Web Storage它是Key-Value在持久性数据存储的形式.Web Storage为了克服cookie把所引起的一些限制.当数据需要严格格控制client准时,没有必要不断地发回数据serve ...

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

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

随机推荐

  1. LayIM.AspNetCore Middleware 开发日记(三)基础框架搭建

    前言 在上一篇中简单讲了一些基础知识,例如Asp.Net Core Middleware 的使用,DI的简单使用以及嵌入式资源的使用方法等.本篇就是结合基础知识来构建一个基础框架出来. 那么框架有什么 ...

  2. selenium + python自动化测试unittest框架学习(七)随机生成姓名

    在自动化测试过程中经常要测试到添加用户的操作,每次都要输入中文,原本是找了十几个中文写成了列表,然后从列表中随机取出填入用户名文本框中,随着测试的增加,发现同名的人搜索出来一大堆,最后在网上找了个随机 ...

  3. CentOS7图文安装教程

    CentOS 7下载: CentOS 7只提供64位版本,虽然有不少国内镜像节点,不过还是觉得通过BT下载是不错的选择.镜像大小6.7G,联通20M光纤下载,不到小时.以下是中国大陆的下载地址列表: ...

  4. PAT——1045. 快速排序(25)

    著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边. 给定划分后的N个互不相同的正整数的排列,请问有多 ...

  5. PAT——1040. 有几个PAT

    字符串APPAPT中包含了两个单词“PAT”,其中第一个PAT是第2位(P),第4位(A),第6位(T):第二个PAT是第3位(P),第4位(A),第6位(T). 现给定字符串,问一共可以形成多少个P ...

  6. HDU 3367 (伪森林,克鲁斯卡尔)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=3367 Pseudoforest Time Limit: 10000/5000 MS (Java/Oth ...

  7. Gradle Goodness: Excluding Tasks for Execution

    In Gradle we can create dependencies between tasks. But we can also exclude certain tasks from those ...

  8. mysql 5.7设置密码无效

    我现在MySQL的版本时8.0.12,以前一直没有给MySQL设置密码. 今天因为需要,给MySQL设置,密码,但是上网搜了好久.....命令都不对.最后搜到csdn的Bpazy大佬的博客.他使用5. ...

  9. webstorm 常用的快捷键

    1. ctrl + shift + n: 打开工程中的文件,目的是打开当前工程下任意目录的文件.2. ctrl + j: 输出模板3. ctrl + b: 跳到变量申明处4. ctrl + alt + ...

  10. [已解决]Vistual Stdio 2015 installer Bootstrapper Packages 路径

    VS2015 installer 的预装包的地址变更成 C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Pac ...