如果我们使用cookie作为前端存储数据,我遇到的一个问题就是
跨iframe页面,setCookie不起作用,所以迫使我使用localStorge模拟实现。
主要是为了实现过期的效果,利用存储的创建时间和过期时间,模拟实现到期清除效果
function setFakeCookie(name,value,expire) {
var obj={
"create_time":getNowDate(),
"expire":expire,
"value":value,
}
localStorage.setItem(name, JSON.stringify(obj));
}
function getFakeCookie(name) {
var obj=JSON.parse(localStorage.getItem(name));
if(!obj){
return "";
}
var visitorExpireSecond=new Date(obj.create_time).getTime()+parseInt(obj.expire)*1000;
var nowTime=getTimestamp();
if(visitorExpireSecond<=nowTime){
localStorage.removeItem(name);
return "";
}
return obj.value;
}