我有一个带有第三方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?
你可以这样。
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=/";
}