1 综述--表格比较三者的区别
比较项目 | cookie | sessionStorage | localStorage |
---|---|---|---|
大小 | 4kb | 5M | 5M |
声明周期 | 自己设置,一般浏览器关闭 | 浏览器关闭 | 除非自行删除,否则一直存在 |
与服务端通信 | HTTP头部 | 不主动参与 | 不主动参与 |
是否可以跨域共享 | 可以设置 | 不共享 | 不共享 |
易于使用程度 | 使用库或者自己封装API | API简单可以直接调用 | API不可以直接调用 |
2 关于cookie 的存储和获取
cookie 有四个参数
key: 我们定义的名称;
domain: 设置共享cookie的域名,.aaa.com表示在aaa一级域名下就可以共享,域名级数越高,共享条件越小;
path:/ (http://aaa.com/ )下所有的文件都可以调用此cookie;
expires: 设置过期时间;
function setcookie(name,value,days)
{
var date=new Date();
date.setDate(date.getDate()+days);
document.cookie=name+'='+value+';expires='+date;
}
function getcookie(name)
{
var arr=document.cookie.split(';');
for(var i=0;i<arr.length;i++)
{
var arr2=arr[i].split('=');
if(arr2[0]==name)return arr2[1];
}
return '';
}
function removecookie(name)
{
setcookie(name,'1',-1);
}
3 关于cookie跨主机共享
// 这样,cookie可以在a.google.com 和b.google.com 之间共享
document.cookie=name+'='+value+';expires='+date;'+'domain+=".google.com"'