在前端开发中,我们会常遇到要在两个甚至多个html之间通信,我们可以在url中添加参数,但是当要传递的数据量较大较多时呢,不妨试试html5 的localStorage吧。

1) 检测你的浏览器是否支持localStorage:

            if(window.localStorage){

alert('YES!');

else alert('NO!');

2) 数据都是以键值对的形式存储在localStorage中的,使用时直接在window.localStorage中添加一个属性就可以了,定义和修改的示例如下:

//在window.localStorage添加一个test属性,并赋值test1的三种实现方式

localStorage.test = “test1”;

localStorage[“test”] = “test1”;

localStorage.setItem(“test”,”test1”);

//属性值得修改同其的定义方式一样

//属性值的获取

var test = localStorage.test;

var test = localStorage[“test”];

var test = localStorage.getItem(“test”);

//属性的删除

localStorage.removeItem(“test”);//清除属性test

localStorage.clear();//清除所有的属性

3) localStorage提供的key()和length可以方便的实现所有属性的数据遍历,例:

var storage = window.localStorage;

var key = “”;

for(var i = 0;I < storage.length;i++){

key = storage.key(i);

console.log(key + “ : ” + localStorage.getItem(key));

}

4)localStorage仅能存储这种key/value键值对形式的数据,如果我们要存储的数据量比较大那,可以试试把这些数据转化为json数据,作为value值存储进去。如:

//set the infomation

var json = {“name”:”echo”,”message”:”hello localStorage”,”id”:1};

localStorage.setItem(“info”,json);

//get the information

var info = localStorage.getItem(“info”);

info = eval(“(” + info + ”)”);

console.log(“name:”+info.name+” message:”+info.message);

5)如果你用html5 的canvas做开发,你可以把这个canvas的内容生成一个快照在另一个html中显示,如:

//普通canvas实现

var canvas = document.getElementById(“canvas”);

var url = canvas.toDataURL(“image/png”);

localStorage.setItem(“image”,url);

//如果你用webgl做3D开发,可这么实现

var url = renderer.domElement.toDataURL('image/png','name');

localStorage.setItem("image",url);

6)最后,localstorage唯一的优点就是语法简单,但是性能并不是很好,能不用的时候尽量不用。

HTML5 localStorage 的使用的更多相关文章

  1. HTML5 LocalStorage 本地存储

    HTML5 LocalStorage 本地存储 说到本地存储,这玩意真是历尽千辛万苦才走到HTML5这一步,之前的历史大概如下图所示: 最早的Cookies自然是大家都知道,问题主要就是太小,大概也就 ...

  2. (转载)HTML5 LocalStorage 本地存储

    原文地址:http://www.cnblogs.com/xiaowei0705/archive/2011/04/19/2021372.html HTML5 LocalStorage 本地存储 说到本地 ...

  3. localStorage存值取值以及存取JSON,以及基于html5 localStorage的购物车

    localStorage.setItem("key","value");//存储变量名为key,值为value的变量 localStorage.key = &q ...

  4. HTML5 LocalStorage 本地存储(转)

    原文:http://www.cnblogs.com/xiaowei0705/archive/2011/04/19/2021372.html HTML5 LocalStorage 本地存储 说到本地存储 ...

  5. HTML5 LocalStorage Demo

    <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...

  6. 原生JavaScript常用本地浏览器存储方法四(HTML5 LocalStorage sessionStorage)

    HTML5 LocalStorage浏览器的支持的情况如上图,IE在8.0的时候就支持了.不过需要注意的是,IE测试的时候需要服务器环境(或者localhost). 测试自然是检测浏览器是否支持本地存 ...

  7. HTML5 LocalStorage 本地存储原理详解

    首先自然是检测浏览器是否支持本地存储.在HTML5中,本地存储是一个window的属性,包括localStorage和sessionStorage,从名字应该可以很清楚的辨认二者的区别,前者是一直存在 ...

  8. HTML5 ---localStorage

    HTML5中提供了localStorage对象可以将数据长期保存在客户端,直到人为清除. localStorage提供了几个方法: 1.存储:localStorage.setItem(key,valu ...

  9. html5 localStorage实现表单本地存储

    随笔开头,我不得不吐槽,为什么我的随笔每次发布之后,都会在分分钟之内移出首页.好气啊!! 进入正题了,项目中有许多表单输入框要填写,还有一些单选复选框之类的.用户可能在填写了大量的信息之后,不小心刷新 ...

  10. HTML5 LocalStorage 本地存储,刷新值还在

    H5的两种存储技术的最大区别就是生命周期. 1. localStorage是本地存储,存储期限不限: 2. sessionStorage会话存储,页面关闭数据就会丢失. 使用方法: localStor ...

随机推荐

  1. asp.net json 与xml 的基础事例

    //json序列化和反序列化 using System.Runtime.Serialization.Json; public static string JsonSerializer<T> ...

  2. WinForm------ToolTipController与GridControl的连用

    1.拖入一个ToolTipController控件,和一个GridControl控件 2.设置GridControl中的GridView的中的属性ToolTipController为刚刚拖入的Tool ...

  3. Java Web 开发利用Struts2+Spring+mybatis写一个用户登录界面以及简单的数据交互

    框架的东西太复杂也难以讲通,直接上代码: 一.首先得配置环境 和导入必要的jar包 有一些重要的如下: Filter文件夹下的SafetyFilter.java   model文件夹下的 Global ...

  4. re正则表达式13_review of regex symbols

    Review of Regex Symbols This chapter covered a lot of notation, so here’s a quick review of what you ...

  5. CodeForces 716B Complete the Word

    题目链接:http://codeforces.com/problemset/problem/716/B 题目大意: 给出一个字符串,判断其是否存在一个子串(满足:包含26个英文字母且不重复,字串中有‘ ...

  6. Python 调用 user32.dll

    import ctypes h = ctypes.windll.LoadLibrary("C:\\Windows\\System32\\user32.dll") h.Message ...

  7. js 连接地址分析

    html的连接地址 <a href="/yzh/mobile/index.php?m=default&c=user&a=order_list&cla=dfk&q ...

  8. 使用ab压测网页结果分析

    使用ab压测网页结果分析 下载工具:ab 图片来自:http://my.oschina.net/u/1246814/blog/291696?fromerr=JfLeu1jk

  9. Apple Pay

    Apple Pay运行环境:iPhone6以上设备,操作系统最低iOS9.0以上,部分信息设置需要iOS9.2以上.目前还不支持企业证书添加. 环境搭建好后可以在模拟器上面运行,xcode7.2.1+ ...

  10. PHP常用的一些正则表达式

    附一些常用的正则运算: 验证数字:^[0-9]*$验证n位的数字:^\d{n}$验证至少n位数字:^\d{n,}$验证m-n位的数字:^\d{m,n}$验证零和非零开头的数字:^(0|[1-9][0- ...