LocalStorage存储和cookie存储
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存储的更多相关文章
- 本地存储(cookie&sessionStorage&localStorage)
好文章,最全面.就查它吧:https://segmentfault.com/a/1190000004556040 1.DOM存储:https://developer.mozilla.org/zh-CN ...
- 本地存储之cookie、localStorage、sessionStorage
一.本地存储分为cookie,以及新增的localStorage和sessionStorage 1.cookie存储在本地,容量最大4k,在同源的http请求时携带传递,损耗带宽,可设置访问路径,只有 ...
- localStorage sessionStorage 和cookie等前端存储方式总结
localStorage sessionStorage 和cookie localStorage localStorage是本地存储的,除非清空本地数据 localStorage不会自动把数据发给服务 ...
- javascript之存储数据-cookie,localStorage,sessionStorage
cookie: 存储一些简单的数据,以文本形式放到本地,大小4kb 存储:document.cookie='name=value' 取值:document.cookie(字符串) 期限:expires ...
- 本地存储常用方式 localStorage, sessionStorage,cookie 的区别 和 服务器存储session
本地存储:把一些信息存储到客户端本地(主要目的有很多,其中有一个就是实现多页面之间的信息共享) 1. 离线缓存(xxx.manifest) H5处理离线缓存还是存在一些硬伤的,所以真实项 ...
- 浅谈浏览器存储(cookie、localStorage、sessionStorage)
今天我们从前端的角度了解一下浏览器存储,我们常见且常用的存储方式主要由两种:cookie.webStorage(localStorage和sessionStorage).下面我们来一一认识它们. Co ...
- JavaScript一个cookie存储的类
所有输出都在浏览器的控制台中 <script type="text/javascript"> /** * cookieStorage.js * 本类实现像localSt ...
- 离线应用与客户端存储(cookie storage indexedDB)
离线检测 HTML5定义一个属性:navigator.onLine的属性.这个属性值为true,表示设备在线,值为false,表示设备离线.为了更好的确定网络是否可用,HTML5还定义了两个事件.这两 ...
- JavaScript高级编程———数据存储(cookie、WebStorage)
JavaScript高级编程———数据存储(cookie.WebStorage) <script> /*Cookie 读写删 CookieUtil.get()方法根据cookie的名称获取 ...
随机推荐
- [DPI][suricata] suricata 配置使用
前文: [DPI] suricata-4.0.3 安装部署 至此, 我们已经拥有了suricata可以运行的环境了. 接下来,我们来研究一下它的功能, 首先,分析一下配置文件: /suricata/e ...
- [daily][nfs] nfs客户端设置
[daily] 主机间目录共享 1. 安装nfs工具,其实是mount需要mount.fs 否则会出现类似如下错误: [root@stds ~]# mount -t nfs 192.168.7.1:/ ...
- LCA&最小生成树
LCA 经常被用来使用.比如询问树两点之间的距离. 比如树上差分 都是经常被使用的类型.有的时候倍增求LCA的同时还可以优化算法. 这道题呢 求一个严格的最小生成树,当然如果不严格的话如果有重边那么就 ...
- 20165336 2017-2018-2 《Java程序设计》第4周学习总结
20165336 2017-2018-2 <Java程序设计>第4周学习总结 教材学习内容总结 第五章 使用extends来定义一个子类. Object类是所有类的祖先类. 当子类和父类不 ...
- ES6新特性三: Generator(生成器)函数详解
本文实例讲述了ES6新特性三: Generator(生成器)函数.分享给大家供大家参考,具体如下: 1. 简介 ① 理解:可以把它理解成一个函数的内部状态的遍历器,每调用一次,函数的内部状态发生一次改 ...
- html多文件上传,可支持预览
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 使用docker部署Asp.net core web应用程序
拉取aspnetcore最新docker镜像 aspnetcore的docker镜像在docker官网是有的,是由微软提供的.它的依赖镜像是microsoft/dotnet.通过访问网址:https: ...
- linux网络设置和虚拟机克隆转移之后网卡找不到
linux网络设置和虚拟机克隆转移之后Error:No suitable device found:no device found for connection 'System eth0'问题解决 ...
- 如何查看thinkphp版本号?
我们有时不知道thinkphp版本号,怎么查看呢?很简单,tp5版本在/thinkphp/base.php文件中就可以查看define('THINK_VERSION', '5.0.15');如下图所示 ...
- SSH高级服务
SSH端口转发 SSH 会自动加密和解密所有 SSH 客户端与服务端之间的网络数据.但是,SSH 还能够将其他 TCP 端口的网络数据通过 SSH 链接来转发,并且自动提供了相应的 加密及解密服务.这 ...