我用 javascript 编写了一个脚本来删除当前域中的所有 cookie(除了一些包含在白名单中的 cookie)(使用document.cookie)。我如何确保它正常工作并确实删除了 cookie?
我通过将它包含在一个 html 文件中然后打开该文件在浏览器中运行它,但我不明白如何测试它是否会删除域中的 cookie,因为当我打开一个 html 文件时它与域无关.
这是我的代码:
//cookies we need
const whitelist = [
'example_cookie',
];
function removeUnnecessaryCookies() {
let decodedCookie = decodeURIComponent(document.cookie); //check for special characters
let allCookies = decodedCookie.split(';'); //make array of all cookies in domain
for (var i = 0; i < allCookies.length; i++) {
let cookie = allCookies[i];
if (!whitelist.includes(cookie)) {
deleteCookie(cookie);
}
}
}
/* helper function to delete cookies */
function setCookie(cookieName, cookieValue, cookieExpiry) {
let date = new Date();
date.setTime(date.getTime() + (cookieExpiry*24*60*60*1000));
let expires = "expires=" + date.toUTCString();
document.cookie = cookieName + "=" + cookieValue + ";" + expires + ";path=/";
}
function deleteCookie(cookieName) {
setCookie(cookieName, '', -100);
}
removeUnnecessaryCookies();