在我的页面上,您可以设置指向其他网页的链接,例如首页。您可以通过将地址写入其中来创建指向其他页面的链接,并选择一张图片来表示它。什么链接和图片存储为cookie。您还可以通过按十字形来删除链接,该十字形创建另一个名为delete_的cookie(“_”表示它删除了哪个cookie,delete1删除了屏幕上的link1)。但后来有人后悔他们的删除,并希望删除链接,这很容易,只是删除删除cookie。在“设置”中,我想要一个按钮来撤消上次删除,删除最后一个以删除开头的cookie集。
例如,当我用javascript调用console.log(document.cookies)时,我会回来:
"link1=http://google.com; image1=http://...; delete1=true; link2=http://google.com; image2=http://...; link3=http://google.com; image3=http://...; delete3=true; link4=http://google.com; image4=http://..."
如果我按下撤销按钮delete3 = true cookie将被删除,下次delete1 = true后将被删除。如何完成此撤消删除按钮?
答案 0 :(得分:1)
您可能希望首先使用以下内容解析cookie:
function parseCookies() {
str = document.cookie;
var cookies = {};
if (str === ""){return cookies;}
var list = str.split(";");
for(var i = 0; i < list.length; i++) {
var cookie = list[i].trim();
var p = cookie.indexOf("=");
var name = cookie.substring(0,p);
cookies[name] = decodeURIComponent(cookie.substring(p+1));
}
return cookies;
}
然后你可以找到最高删除的关键字:
function newestDelete(dict){
console.log(dict);
keylist = Object.keys(dict);
delnums = [];
for (var i = 0; i < keylist.length; i++){
if(keylist[i].indexOf('delete') > -1){
delnums.push(parseInt(keylist[i].replace('delete', '')));
}
}
return "delete" + Math.max.apply(Math, delnums);
}