我有一个包含第三方Cookie的网页,我正在尝试在使用Javascript加载网页时将其禁用。这是我的代码:
window.addEventListener("load", function()
{
var cookies = document.cookie.split(";");
console.log("cookies = " + cookies);
for (var i = 0 ; i < cookies.length; i++)
{
var cookie_name = cookies[i].split("=")[0];
document.cookie = cookie_name + "=; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT; domain=localhost;";
console.log(cookie_name + " disabled");
}
});
首次访问该页面时,脚本未找到任何cookie,但安装了第三方cookie(我通过Chrome的EditThisCookie插件检查来找到了它们)。如果我重新加载页面,脚本会找到cookie,但是我发现它们已经被再次安装。
似乎在执行脚本后安装了cookie,因此安装后我无法捕获它们。如何有效地禁用这些cookie?
答案 0 :(得分:1)
你可以的。
setCookie(cookie_name, "disabled", -1);
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+ d.toUTCString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}