【发布时间】:2022-11-09 18:44:53
【问题描述】:
自 GDPR 以来,我们都有 cookie 偏好,并且如果用户撤回同意,我们有义务删除 cookie。但是,如果您有 Google Analytics (www.googletagmanager.com/gtag) 并在按钮按下事件中清除 cookie,您可以在页面重新加载后发现您仍然有一些 GA cookie,例如 _gali 和 _ga_XXXXXX。那么,问题是如何杀死这些?
【问题讨论】:
自 GDPR 以来,我们都有 cookie 偏好,并且如果用户撤回同意,我们有义务删除 cookie。但是,如果您有 Google Analytics (www.googletagmanager.com/gtag) 并在按钮按下事件中清除 cookie,您可以在页面重新加载后发现您仍然有一些 GA cookie,例如 _gali 和 _ga_XXXXXX。那么,问题是如何杀死这些?
【问题讨论】:
显然 GA 在文档卸载(或卸载前)事件中设置了一些 cookie。因此,如果您清理卸载事件,它会起作用:
function removeAllCookies() {
document.cookie.split( ";" ).forEach( cookie => {
const [ name ] = cookie.split( "=" );
document.cookie = name + `=; path=/; domain=.YOUR-DOMAIN.com;expires=Thu, 01 Jan 1970 00:00:00 GMT`;
document.cookie = name + "=; path=/;expires=Thu, 01 Jan 1970 00:00:00 GMT";
});
}
window.addEventListener("unload", () => removeAllCookies() );
【讨论】: