dayssavecookies=7;
function deleteLCookie(name) {
document.cookie.split(";").forEach(function(el) {
if(!el.indexOf(name)) {
var date = new Date(0);
document.cookie = el + "=; path=/; expires=" + date.toUTCString();
}
});
}
function getAllCookies(){
var pairs = document.cookie.split(";");
var cookies = {};
for (var i=0; i<pairs.length; i++){
var pair = pairs[i].split("=");
cookies[(pair[0]+'').trim()] = unescape(pair.slice(1).join('='));
}
return cookies;
}
// получаю текущие куки браузера
cooks_values=getAllCookies();
// получаю текущие сохраненные в сторадже куки - даты
if (localStorage["cooks_dates"]==undefined){
ls_dates=new Map();
} else {
ls_dates=JSON.parse(localStorage["cooks_dates"])
};
// если кука в сторадже нет, то добавляю, если истек - ту удаляю и из стораджа и из куков
for (key in cooks_values) {
console.log(key);
console.log(cooks_values[key]);
// если новый кук - добавляем
if (ls_dates[key]==undefined){
console.log("--add to localstorage");
datec = new Date(Date.now() + 86400e3*dayssavecookies);
ls_dates[key]=datec;
};
// если кук истек в локальном хранилище - трём его в куках и в локальном хранилище
if (new Date(ls_dates[key])<Date.now()){
delete(ls_dates[key]);
deleteLCookie(key);
};
}
localStorage.setItem("cooks_dates", JSON.stringify(ls_dates));