localstorage sessionstorage cookie 备忘
/*
sessionStorage:
保存的数据用于浏览器的一次会话,当会话结束(通常是该窗口关闭),数据被清空; localStorage:
保存的数据长期存在,下一次访问该网站的时候,网页可以直接读取以前保存的数据。 Cookie:
Cookie的内容会随着请求一并发送的服务器,容量小。 本地存储的有点:
减少网络流量,一旦数据保存在本地后,就可以避免再向服务器请求数据,因此减少了不必要的数据请求,
减少数据在浏览器和服务器间不必要地来回传递。从本地读数据比通过网络从服务器获得数据快得多。
存储空间更大。
*/ //本地存储操作方法:
var sStorage=window.sessionStorage
var lStorage=window.localStorage
sStorage.setItem('name','zzn');//设置值
lStorage.setItem('sex','male');//设置值
console.info(sStorage.getItem('name'))//获取值
console.info(lStorage.getItem('sex'));//获取值
sStorage.removeItem('name','zzn');//清除某个键名对应的数据
lStorage.clear();//清除某个键名对应的数据
sStorage.clear();//clear方法用于清除所有保存的数据 //遍历操作:
sStorage.setItem('name','zzn');
sStorage.setItem('height',175);
for(var i=0;i<sStorage.length;i++){
console.info(sStorage.key(i))//遍历获取键
console.info(sStorage.getItem(sStorage.key(i)))//遍历获取值
} //Cookie基础用法
document.cookie='username=leyi';
/*以上代码中'username'表示 cookie 名称,'leyi'表示这个名称对应的值。假设 cookie 名称并不存在,那么就是创建一个新的 cookie;
如果存在就是修改了这个 cookie 名称对应的值。如果要多次创建 cookie ,重复使用这个方法即可。*/ //cookie的读取操作
document.cookie='username=leyi';
function getCookie(cookie_name){
if(document.cookie.length>0){ //判断是否有cookie,没有就返回空
cookie_name_start=document.cookie.indexOf(cookie_name);//因为name在最前面,如果有cookie则返回0
if(cookie_name_start!=-1){
first_equal_sign_index=cookie_name_start+cookie_name.length+1;//查找name值后的"="号的索引位置
cookie_end=document.cookie.indexOf(';',first_equal_sign_index)//查找第一个分号的的索引位置
if(cookie_end==-1){
cookie_end=document.cookie.length;//如果cookie没有设置分号,比如document.cookie='name=value',那就直接获取整个字符串长度
return unescape(document.cookie.substring(first_equal_sign_index,cookie_end))//截取第一个"="号到第一个";"号的字符串,即name对应的value值
}
}
}
return "";
}
console.info(getCookie("username")); //设置cookie的有效期
document.cookie = "name=value;expires=date"; //设置cookie
function setCookie(cookie_name, cookie_value, expiredays){
var date=new Date();
date.setDate(date.getDate() + expiredays);
document.cookie=cookie_name+ "=" + escape(value) + ((expiredays==null) ? "" : ";expires="+date.toGMTString());
}
setCookie('num',123456,30); //路径设置
//只有与创建 cookie 的页面在同一个目录或子目录下的网页才可以访问
document.cookie = "name=value;expires=date;path=/"; //域设置
document.cookie = "name=value;path=path;domain=xx.com"; //安全设置
//把cookie设置为secure,只保证 cookie 与服务器之间的数据传输过程加密,而保存在本地的 cookie文件并不加密。
//重要信息最后不放在cookie
document.cookie = "username=leyi;secure";
公司封装的: /**
* cookie 操作,设置,取出,删除
*
* @namespace Rose
* @class string
*/
Rose.cookie = {
/**
* 设置一个cookie
* @method set
* @param {String} name cookie名称
* @param {String} value cookie值
* @param {String} path 所在路径
* @param {Number} expires 存活时间,单位:小时
* @param {String} domain 所在域名
* @return {Boolean} 是否成功
*/
set : function(name, value, expires, path, domain) {
var str = name + "=" + encodeURIComponent(value);
if (expires != null || expires != '') {
if (expires == 0) {expires = 100*365*24*60;}
var exp = new Date();
exp.setTime(exp.getTime() + expires*60*1000);
str += "; expires=" + exp.toGMTString();
}
if (path) {str += "; path=" + path;}
if (domain) {str += "; domain=" + domain;}
document.cookie = str;
},
/**
* 获取指定名称的cookie值
* @method get
* @param {String} name cookie名称
* @return {String} 获取到的cookie值
*/
get : function(name) {
var v = document.cookie.match('(?:^|;)\\s*' + name + '=([^;]*)');
return v ? decodeURIComponent(v[1]) : null;
},
/**
* 删除指定cookie,复写为过期
* @method remove
* @param {String} name cookie名称
* @param {String} path 所在路径
* @param {String} domain 所在域
*/
remove : function(name, path, domain) {
document.cookie = name + "=" +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
"; expires=Thu, 01-Jan-70 00:00:01 GMT";
}
}
localstorage sessionstorage cookie 备忘的更多相关文章
- localStorage sessionStorage cookie indexedDB
目录: localStorage sessionStorage cookie indexedDB localStorage localStorage存储的数据能在跨浏览器会话保留 数据可以长期保留,关 ...
- 客户端 localStorage, sessionStorage, cookie 的区别
SessionStorage, LocalStorage, Cookie这三者都可以被用来在浏览器端存储数据,而且都是字符串类型的键值对! 区别在于前两者属于WebStorage,创建它们的目的便是存 ...
- localstorage sessionstorage cookie的区别
一.基本概念 Cookie cookie比较小,大小限制在4kb左右,是网景公司的前雇员 LouMontulli 在1993年3月的发明.它的主要用途有保存登录信息,比如你登录某个网站市场可以看到“记 ...
- 本地存储 localStorage/sessionStorage/cookie
cookie是个基础的东西.是服务器发送到客户端,存储在客户端的一小段数据.可以存储一些配置信息,客户标识信息等.用户下次访问这个网站时,会把上次网站发来的cookie一同发送回去.cookie保存在 ...
- localStorage,sessionStorage,cookie使用场景和区别
localStorage:HTML5新增的在浏览器端存储数据的方法.设置和获取localStorage的方法: 设置: localStorage.name = 'zjj'; 获取: localStor ...
- localStorage&sessionStorage&Cookie
localStorage.sessionStorage.Cookie三者区别如下:
- localStorage,sessionStorage,cookie区别
localStorage:HTML5新增的在浏览器端存储数据的方法.设置和获取localStorage的方法: 设置: localStorage.name = 'zjj'; 获取: localStor ...
- sessionStorage 和 localStorage 、cookie
sessionStorage 和 localStorage html5中web storage包括两种储存方式:sessionStorage 和 localStorage sessionStorage ...
- sessionStorage 、localStorage 与cookie 的异同点
cookie 容量4kb,默认各种浏览器都支持,缺陷就是每次请求,浏览器都会把本机存的cookies发送到服务器,无形中浪费带宽.userdata,只有ie支持,单个容量64kb,每个域名最多可存10 ...
随机推荐
- [综]前景检测GMM
tornadomeet 前景检测算法_4(opencv自带GMM) http://www.cnblogs.com/tornadomeet/archive/2012/06/02/2531705.html ...
- [综]聚类Clustering
Annie19921223的博客 [转载]用MATLAB做聚类分析 http://blog.sina.com.cn/s/blog_9f8cf10d0101f60p.html Free Mind 漫谈 ...
- ubuntu中常用软件的安装
1.有道词典 1.百度有道词典,进入有道首页,点"下载词典客户端",下载对应版本. 2.打开终端,进入下载目录,输入sudo dpkg -i youdao-dict_1.0.2~u ...
- Visual Studio并发Qpar优化效果
IOCP客户端的connect线程FOR循环中添加强制并行,1万/S并发connect+send+recv+close,任务管理器使用从60%降到20%. Visual Studio性能监控CPU使用 ...
- c++ operator操作符的两种用法:重载和隐式类型转换,string转其他基本数据类型的简洁实现string_cast
C++中的operator主要有两个作用,一是操作符的重载,一是自定义对象类型的隐式转换.对于操作符的重载,许多人都不陌生,但是估计不少人都不太熟悉operator的第二种用法,即自定义对象类型的隐式 ...
- Mybatis 批量更新 ORA-00911: 无效字符的错误
使用<foreach></foreach> 批量insert时报错 ORA-00911: 无效字符的错误 <foreach collection="list&q ...
- 支持ASP.NET WebService
ASP.NET WebService默认返回的数据格式是XML,但也能返回JSON格式. 如何让MiniUI组件支持ASP.NET WebService? 只需要: 1) 引用miniui-webse ...
- (转)设计模式_Singleton单例模式
静态初始化 public sealed class Singleton { private static readonly Singleton instance = new Singleton(); ...
- tomcat6配置jndi连接数据库的方式
eworkflow工作流+eform表单+ebiao报表集成在一起,用tomcat6发布,并用jndi连接数据库,数据库是sqlserver2005,配置如下: 1.在tomcat6\conf\con ...
- mac-android-虚机加速
mac下进行android编程不可避免会碰到android虚拟机问题,macbook pro启动虚机时报错: Starting emulator for AVD 'NEW' emulator: ERR ...