在使用 Cookie 时遇到了更多麻烦,我确实让我的网站保存了 cookie(待办事项列表项)并在页面加载后重新加载它们并将它们放回屏幕上的表格中。
但是,当我删除所有 cookie 并尝试重新开始时,我不断收到控制台错误说Cannot read property 'undefined' of undefined
现在,如果我注释掉以下两段代码,这个问题就会消失,但 cookie 系统当然会失败。
此部分检查上次有人访问时待办事项列表中的项目数,并将其设置i
为该数字,因此不会删除任何内容。
var listCookies = document.cookie.split(";");
for(var a = 0; a < listCookies.length; a++) {
var listCount = myCookies[i].trim().split("=");
if(listCount[0].indexOf("listCount") === 0) {
var i = listCount;
} else {
var i = 0;
}
}
此部分自己查找实际的待办事项并将它们放在屏幕上的表格中。
var myCookies = document.cookie.split(";");
for(var b = 0; b < myCookies.length; b++) {
var cookie = myCookies[i].trim().split("=");
if(cookie[0].indexOf("todo-") === 0) {
window.todoTable.insertAdjacentHTML('beforeend', decodeURIComponent(cookie[1]));
}
}
我知道问题是在某人第一次访问时没有保存任何 cookie,但是当我尝试添加一个if (typeof document.cookie === "undefined")
似乎没有做任何事情的语句时。
我假设我需要一个围绕这些代码的 if 语句,对吗?也就是说,如果没有 cookie,则“跳过这一点”。如果有,“做事”。