使用Javascript禁用页面加载时的Cookie

时间:2018-08-25 11:35:53

标签: javascript cookies

我有一个包含第三方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?

1 个答案:

答案 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=/";
}

参考:https://www.w3schools.com/js/js_cookies.asp