HTML5 localStorage本地存储

  介绍 localStorage(本地存储)的使用方式。包括对存储对象的添加、修改、删除、事件触发等操作。

目录

1. 介绍

  1.1 说明

  1.2 特点

  1.3 浏览器最小版本支持

  1.4 适合场景

2. 成员

  2.1 属性

  2.2 方法

  2.3 事件

3. 示例

  3.1 存储数据

  3.2 读取数据

  3.3 存储Json对象

1. 介绍

1.1 说明

localStorage 即本地存储,可用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去除。

在JavaScript语言中可通过 window.localStorage 或 localStorage 调用此对象。

1.2 特点

1) 同源策略限制。若想在不同页面之间对同一个localStorage进行操作,这些页面必须在同一协议、同一主机名和同一端口下。(IE8和9存储数据仅基于同一主机名,忽略协议(HTTP和HTTPS)和端口号的要求)

2) 只在本地存储。localStorage的数据不会跟随HTTP请求一起发送到服务器,只会在本地生效。

3) 永久保存。保存的数据没有过期时间,直到手动去除。

4) 存储方式。localStorage的存储方式采用key、value的方式。value的值必须为字符串类型(传入非字符串,也会在存储时转换为字符串。true值会转换为"true")。

5) 存储上限限制:不同的浏览器存储的上限也不一样,但大多数浏览器把上限限制在5MB以下

可访问 http://dev-test.nemikor.com/web-storage/support-test/ 测试浏览器的存储上限。

6) 同浏览器共享。localStorage的数据可以在同一个浏览器的不同标签页的同源页面之间共享。

1.3 浏览器最小版本支持

支持localStorage浏览器的最小版本:IE8、Chrome 5。

1.4 适用场景

localStorage 比较适用2个地方:

1) 数据比较大的临时保存方案。如在线编辑文章时的自动保存。

2) 多页面访问共同数据。sessionStorage只适用于同一个标签页,localStorage相比而言可以在多个标签页中共享数据。

2. 成员

2.1 属性

 readonly int localStorage.length :返回一个整数,表示存储在 localStorage 对象中的数据项(键值对)数量。

2.2 方法

 string localStorage.key(int index) :返回当前 localStorage 对象的第index序号的key名称。若没有返回null。

 string localStorage .getItem(string key) :返回键名(key)对应的值(value)。若没有返回null。

 void localStorage .setItem(string key, string value) :该方法接受一个键名(key)和值(value)作为参数,将键值对添加到存储中;如果键名存在,则更新其对应的值。

 void localStorage .removeItem(string key) :将指定的键名(key)从 localStorage 对象中移除。

 void localStorage .clear() :清除 localStorage 对象所有的项。

2.3 事件

 storage :当对 localStorage 进行更改时,触发此事件。

在IE 11和Chrome中对此事件有不同的触发机制:

1) 当前页面是否触发:当前页面进行localStorage 操作时,IE 11是当前页面也触发此事件,Chrome 是当前页面不触发此事件。

2) 对localStorage进行重复操作:如存入重复的数据,IE 11是触发此事件,Chrome 是不触发此事件。

3. 示例

3.1 存储数据

3.1.1 采用setItem()方法存储

localStorage.setItem(‘testKey‘,‘这是一个测试的value值‘); // 存入一个值

3.1.2 通过属性方式存储  

localStorage[‘testKey‘] = ‘这是一个测试的value值‘;

  

3.2 获取数据

3.2.1 通过getItem()方法取值

localStorage.getItem(‘testKey‘); // => 返回testKey对应的值

3.2.2 通过属性方式取值

localStorage[‘testKey‘]; // => 这是一个测试的value值

3.3 存储Json对象

localStorage 也可存储Json对象:存储时,通过JSON.stringify()将对象转换为文本格式;读取时,通过JSON.parse()将文本转换回对象。

var userEntity = {
    name: ‘tom‘,
    age: 22
};

// 存储值:将对象转换为Json字符串
localStorage.setItem(‘user‘, JSON.stringify(userEntity));

// 取值时:把获取到的Json字符串转换回对象
var userJsonStr = localStorage .getItem(‘user‘);
userEntity = JSON.parse(userJsonStr);
console.log(userEntity.name); // => tom

==================================系列文章==========================================

本篇文章:6.7 HTML5 localStorage本地存储

Web开发之路系列文章

时间: 2024-12-25 19:34:52

HTML5 localStorage本地存储的相关文章

HTML5 localStorage本地存储实际应用举例

HTML5 localStorage本地存储实际应用举例 by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=1952 一.引言 HTML5虽未来到其鼎盛时期,但这并不妨碍我们在实际项目中渐进使用HTML5的一些特性.就我所做的项目而言,应用的HTML5相关特性有:data-自定义属性.placeholder.以及email类型input文本框.上周新上线的会员中心,自己又

HTML5 LocalStorage 本地存储(转)

原文:http://www.cnblogs.com/xiaowei0705/archive/2011/04/19/2021372.html HTML5 LocalStorage 本地存储 说到本地存储,这玩意真是历尽千辛万苦才走到HTML5这一步,之前的历史大概如下图所示: 最早的Cookies自然是大家都知道,问题主要就是太小,大概也就4KB的样子,而且IE6只支持每个域名20个cookies,太少了.优势就是大家都支持,而且支持得还蛮好.很早以前那些禁用cookies的用户也都慢慢的不存在了

(转载)HTML5 LocalStorage 本地存储

原文地址:http://www.cnblogs.com/xiaowei0705/archive/2011/04/19/2021372.html HTML5 LocalStorage 本地存储 说到本地存储,这玩意真是历尽千辛万苦才走到HTML5这一步,之前的历史大概如下图所示: 最早的Cookies自然是大家都知道,问题主要就是太小,大概也就4KB的样子,而且IE6只支持每个域名20个cookies,太少了.优势就是大家都支持,而且支持得还蛮好.很早以前那些禁用cookies的用户也都慢慢的不存

HTML5 LocalStorage 本地存储总结

//存储数据的方法就是直接给window.localStorage添加一个属性,例如:window.localStorage.a 或者 window.localStorage["a"].它的读取.写.删除操作方法很简单,是以键值对的方式存在的,如下: localStorage.a = 3;//设置a为"3"localStorage["a"] = "sfsf";//设置a为"sfsf",覆盖上面的值local

HTML5 LocalStorage 本地存储

LocalStorage 本地存储方法如下: setItem : function(key, value)getItem : function(key)removeItem : function(key)clear : function()length : intkey : function(i)isVirtualObject : true 本地存储K的值时 localStorage.setItem('k','a'); 存储在本地,可以直接调用JSON.stringify()将其转为字符串 fu

HTML5 LocalStorage 本地存储原理详解

首先自然是检测浏览器是否支持本地存储.在HTML5中,本地存储是一个window的属性,包括localStorage和sessionStorage,从名字应该可以很清楚的辨认二者的区别,前者是一直存在本地的,后者只是伴随着session,窗口一旦关闭就没了.二者用法完全相同,这里以localStorage为例. if(window.localstorage){ alert('this brower supports localstorage'); }else{ alert('this browe

HTML5 LocalStorage 本地存储JSON数据

JSON数据存储在本地,需调用JSON.stringify()将其转为字符串.读取出来后调用JSON.parse()将字符串转为json格式.如写入的时候: var json_data = {id:12,name:"yang",email:"[email protected]"}; storage.setItem("json_data",JSON.stringify(json_data)); 读取的时候: var json_data = JSON

LocalStorage本地存储

LocalStorage,即"Web存储",某些浏览器供应商也叫"本地存储"."DOM存储",原本作为HTML5标准的一部分,后来因为某些原因被抽离出来作为单独的WEB应用标准.localStorage提供了一种方式,让Web页面在客户端浏览器中以键值对的形式存储本地字符串数据,无论是用户是离开该站点,刷新,关闭浏览器还是其他操作,存储的数据依然存在. 一.localStorage与cookie localStorage与cookie一样,都是在

利用html5的本地存储功能实现登录用户信息保存

在HTML5中,本地存储是一个window的属性,包括localStorage和sessionStorage,从名字应该可以很清楚的辨认二者的区别,前者是一直存在本地的,后者只是伴随着session,窗口一旦关闭就没了.二者用法完全相同,这里以localStorage为例. 用户名.密码保存,自动登录等,可以通过设置cookie实现,第一次登录网站后在本地计算机的中写入cookie,之后再次登录此网站查看cookie中现有的值,用cookie值进行网站登录即可.但是 cookie 不适合大量数据