cookie与存储

1. cookie

cookie的组成:name=value;

document.cookie="user=“ + encodeURIComponent(”李然会");  //chrome不支持客户端修改cookie.

2. 过期时间

//默认浏览器关闭时cookie过期

var date = new Date();

date.setDate(date.getDate() + 7);

document.cookie="user=“ + encodeURIComponent(”李然会") + ";expires=" + date.toString();

 path=xx;  //cookie限制路径

domain=xx;  //cookie域名限制

secure; //限制https协议访问

3. 删除cookie

var date = new Date();

date.setDate(date.getDate() - 1);

document.cookie="user=“ + encodeURIComponent(”李然会") + ";expires=" + date.toString();  //设置过期,就会删除cookie。

4. 路径访问限制

document.cookie="user=“ + encodeURIComponent(”李然会") + ";path=" + '/demo/'; 

5. 域名访问限制

document.cookie="user=“ + encodeURIComponent(”李然会") + ";domain=" + 'baidu.com'; 

document.cookie="user=“ + encodeURIComponent(”李然会") + "secure";  //限制https协议访问

6. 封装函数

document.cookie = "user=lee";

document.cookie = "url=www.baidu.com"  //多次赋值,可以生产多个cookie


function setCookie(name, value, expires, path, domain, secure) {

var cookieName = encodeURIComponent(name) + "=" + encodeURIComponent(value);

if (expires instanceof Date) {

cookieName += ";expires=" + expires.toString();

}

if (path){

cookieName += ";path=" + path;

}


if (domain) {

cookieName += ";domain=" + domain

}

if (secure) {

cookieName += ";secure";

}

document.cookie = cookieName;

}


function getCookie(name){

var cookieName = encodeURIComponent(name);

var cookieValue = null;

var cookieStart = document.cookie.indexOf(cookieName);


if (cookieStart > -1) {

cookieEnd = document.cookie.indexOf(";", cookieStart);

if (cookieEnd == -1) {

cookieEnd = document.cookie.length;

}

cookieValue = decodeURIComponent(document.cookie.substring(cookieStart, cookieEnd));

}

return cookieValue;

}

7. cookie限制

1) cookie个数不能超过20个,如果超过个数,有的浏览器清理最早的cookie, firefox随机清理

2) cookie大小不能4095字节

3) 敏感数据不能放在cookie

8. 存储

1) 每个域名下1M, 每个最多128k, 只有IE浏览器支持

<div id="box" style="behavior:url('#default#userData')"></div>  //加载本地存储组件

addEvent("window", "load", function() {

var box = document.getElementById("box");

box.setAttribute("name", "Lee");

box.expires = expires;  //设置过期时间,expires类型为String.

box.save("user");   //存储键名


box.load("user");  //加载user

box.getAttribute("name");  //获取name


box.removeAttribute("name");  //删除name

box.save("user");

})

9. web存储  

sessionStorage  //关闭浏览器后删除

sessionStorage.setItem("name", "Lee");

sessionStorage.getItem("name");

sessionStorage.removeItem("name");


localStorage

使用方法同sessionStorage


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值