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