使用Javascript在页面加载时禁用cookie

问题描述 投票:0回答:1

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

javascript cookies
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.