localStorage是H5的新特性,主要用来本地存储,一般浏览器支持的大小是5M,不同浏览器会有所不同,解决了cookie存储空间不足的问题。

2、使用:
     ⑴、存

if(!window.localStorage){

alert("浏览器不支持localstorage");

return false;

}else{

var storage = window.localStorage;

// 方法1

storage["a"] = 1;

// 方法2

storage.b = 1;

// 方法3  推荐

storage.setItem("c", 3);

console.log(typeof storage["c"]); // string  int类型打印出来是string,localstorage只支持string类型的存储

}

⑵、取  

if(!window.localStorage){

    alert("浏览器不支持localstorage")

}else{

    var storage=window.localStorage;

    // 方法1

    var a=storage.a;

    // 方法2

    var b=storage["b"]

    // 方法3 推荐

    var c = storage.getItem("c");

}


⑶、修改

if(!window.localStorage){

alert("浏览器支持localstorage");

}else{

var storage=window.localStorage;

storage.b=1;

storage.b=4; // 直接修改

console.log(storage.b);

        }

⑷、删除

// 移除所有

localStorage.clear();

 

// 删除某个键值对

localStorage.removeItem("a");

⑸、key()方法

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

    var key =storage.key(i);

    console.log(key) // 获取对应的键

    

}
⑹、存入为JSON形式时,先转为json字符串

function setStorage () {

var str_username = $("#loginname").val();  

var str_password = $("#password").val();

var storage=window.localStorage;

var data = {

username: str_username,

password: str_password

}

var d = JSON.stringify(data)

storage.setItem("data",d);

}

⑺、读取后用转为JSON对象

 //将JSON字符串转换成为JSON对象输出

            var json=storage.getItem("data");

            var jsonObj=JSON.parse(json);

            console.log(typeof jsonObj); // Object

3、局限:
     ①、IE8以上才支持
     ②、浏览器会把localstorage的值类型限定为string类型,JSON对象需要转换。
     ③、本质上是存取字符串,存储内容太多消耗空间,页面变卡。
     ④、localStorage在浏览器的隐私模式下不可读取
     ⑤、不能被爬虫抓取

Cookie
让网站服务器把少量数据储存到客户端的硬盘或内存,从客户端的硬盘读取数据的一种技术。
使用jquery.cookie.js
1、引入jquery.cookie.js
      <script type="text/javascript" src="js/jquery.min.js"></script>
      <script type="text/javascript" src="js/jquery.cookie.js"></script>

2、设置 "会话"cookie

$.cookie('username', 'xy');

cookie有效期默认到用户关闭浏览器

3、设置有效时间
$.cookie('username', 'xy', { expires: 7 });

4、设置有效路径 
$.cookie('the_cookie', 'the_value', { expires: 7, path: '/' });// 如果在整个网站中访问这个cookie需要这样设置有效路径:path: '/'

5、读取cookie
 $.cookie('username')

:cookie是基于域名来储存的。意思您要放到测试服务器上或者本地localhost服务器上才会生效。cookie具有不同域名下储存不可共享的特性。单纯的本地一个html页面打开是无效的。

6、删除cookie 

 $.cookie('username', null);   //通过传递null作为cookie的值即可

7、可选参数

$.cookie('the_cookie','the_value',{

    expires:7,  //(Number|Date)有效期;设置一个整数时,单位是天;也可以设置一个日期对象作为Cookie的过期日期;

    path:'/',   // (String)创建该Cookie的页面路径;

    domain:'jquery.com', // (String)创建该Cookie的页面域名;

    secure:true // (Booblean)如果设为true,那么此Cookie的传输会要求一个安全协议,例如:HTTPS;

  }) 

LocalStorage存储和cookie存储的更多相关文章

  1. 本地存储(cookie&sessionStorage&localStorage)

    好文章,最全面.就查它吧:https://segmentfault.com/a/1190000004556040 1.DOM存储:https://developer.mozilla.org/zh-CN ...

  2. 本地存储之cookie、localStorage、sessionStorage

    一.本地存储分为cookie,以及新增的localStorage和sessionStorage 1.cookie存储在本地,容量最大4k,在同源的http请求时携带传递,损耗带宽,可设置访问路径,只有 ...

  3. localStorage sessionStorage 和cookie等前端存储方式总结

    localStorage sessionStorage 和cookie localStorage localStorage是本地存储的,除非清空本地数据 localStorage不会自动把数据发给服务 ...

  4. javascript之存储数据-cookie,localStorage,sessionStorage

    cookie: 存储一些简单的数据,以文本形式放到本地,大小4kb 存储:document.cookie='name=value' 取值:document.cookie(字符串) 期限:expires ...

  5. 本地存储常用方式 localStorage, sessionStorage,cookie 的区别 和 服务器存储session

    本地存储:把一些信息存储到客户端本地(主要目的有很多,其中有一个就是实现多页面之间的信息共享)       1. 离线缓存(xxx.manifest)  H5处理离线缓存还是存在一些硬伤的,所以真实项 ...

  6. 浅谈浏览器存储(cookie、localStorage、sessionStorage)

    今天我们从前端的角度了解一下浏览器存储,我们常见且常用的存储方式主要由两种:cookie.webStorage(localStorage和sessionStorage).下面我们来一一认识它们. Co ...

  7. JavaScript一个cookie存储的类

    所有输出都在浏览器的控制台中 <script type="text/javascript"> /** * cookieStorage.js * 本类实现像localSt ...

  8. 离线应用与客户端存储(cookie storage indexedDB)

    离线检测 HTML5定义一个属性:navigator.onLine的属性.这个属性值为true,表示设备在线,值为false,表示设备离线.为了更好的确定网络是否可用,HTML5还定义了两个事件.这两 ...

  9. JavaScript高级编程———数据存储(cookie、WebStorage)

    JavaScript高级编程———数据存储(cookie.WebStorage) <script> /*Cookie 读写删 CookieUtil.get()方法根据cookie的名称获取 ...

随机推荐

  1. C语言保证,0永远不是有效的数据地址,因此,返回址0可用来表示发生的异常事件

    C语言保证,0永远不是有效的数据地址,因此,返回址0可用来表示发生的异常事件

  2. Python中给List添加元素的4种方法

    https://blog.csdn.net/hanshanyeyu/article/details/78839266 List 是 Python 中常用的数据类型,它一个有序集合,即其中的元素始终保持 ...

  3. 转:java内部类作用

    原文地址:https://www.cnblogs.com/uu5666/p/8185061.html 一. 定义 放在一个类的内部的类我们就叫内部类. 二. 作用 1.内部类可以很好的实现隐藏, 一般 ...

  4. 抽屉之Tornado实战(2)--数据库表设计

    经过我们上次分析,数据库要有最基本的四张表,用户表,消息表,类型表,点赞表,评论表,接下来我们看着怎么设计吧 首先我们要清楚,表设计的代码是写在models下的 用户表 #一张表对应一个类 class ...

  5. oracle partition table 分区表详解

    Oracle partition table 分区表详解 分区表就是通过使用分区技术,将一张大表,拆分成多个表分区(独立的segment),从而提升数据访问的性能,以及日常的可维护性.分区表中,每个分 ...

  6. 20165336 2017-2018-2 《Java程序设计》第3周学习总结

    20165336 2016-2017-2 <Java程序设计>第三周学习总结 教材学习内容总结 类名使用拉丁字母那么名字的首字母使用大写字母.每个单词的首字母应该大写. 成员变量在整个类内 ...

  7. javascript语法(一) 极客时间

    脚本和模块 javascript有两种源文件,一种叫脚本,一种叫模块.这个区分主要是在ES6引入的,ES5及之前版本只有一种源文件类型(只有脚本). 脚本是可以有浏览器或者node环境引入执行的,而模 ...

  8. BTM学习小记

    BTM的原理跟LDA很像,下面是该模型的概率图: 由该图可以看出来,与LDA的区别在于确定主题分布和词分布后相应地取两个词(而LDA只取一个,即类比常见的骰子说法:先投掷K面的骰子得到主题z,再根据相 ...

  9. RSA 时序攻击

    RSA的破解从理论上来讲是大数质数分解,可是就是有一些人另辟蹊径,根据你解密的时间长短就能破解你的RSA私钥. 举一个不恰当但是比较容易理解的例子: 密文0101 私钥0110 明文0100 问题的关 ...

  10. (4.3)mysql备份还原——mysql备份策略

    (4.3)mysql备份还原——mysql备份策略 1.指定备份策略时需要考虑的点 [1.1]备份周期:2次备份间隔时长 [1.2]备份方式:在备份周期中,使用什么备份方式.备份模式 [1.3]实现方 ...