JavaScript Cookie同意通知将重新出现,除非在主页上单击该通知

JavaScript Cookie同意通知将重新出现,除非在主页上单击该通知,javascript,session,cookies,Javascript,Session,Cookies,我正在编写一个cookie同意通知,当我在主页上单击“确定”消息以删除横幅时,该通知的功能正常,它会消失,不会重新显示 但是,如果我单击以删除网站上任何其他页面上的横幅,则当我访问另一个页面时,横幅会再次出现(除非后续页面中有一个是主页,否则它会在cookie期间消失,就像单击时一样) 有人知道这可能是什么原因吗 更新 我注意到的是,如果我点击通知,然后刷新页面,在开发工具中,cookie会将“路径”显示为页面名称,即应用程序>Cookies下的/contact,但当然,当我在主页上应用cook

我正在编写一个cookie同意通知,当我在主页上单击“确定”消息以删除横幅时,该通知的功能正常,它会消失,不会重新显示

但是,如果我单击以删除网站上任何其他页面上的横幅,则当我访问另一个页面时,横幅会再次出现(除非后续页面中有一个是主页,否则它会在cookie期间消失,就像单击时一样)

有人知道这可能是什么原因吗

更新

我注意到的是,如果我点击通知,然后刷新页面,在开发工具中,cookie会将“路径”显示为页面名称,即应用程序>Cookies下的
/contact
,但当然,当我在主页上应用cookie时,它会将路径应用为
/
,这将覆盖整个站点

我想我需要一种方法来始终将路径设置为添加cookie的任何页面上的
/

在下面的JavaScript中,代码基本上添加了一些CSS类以淡出/删除横幅,然后添加了一个cookie以使其保持12个月(或者直到cookie被明显删除)

非常感谢你的帮助

艾米丽


您是否在浏览器开发人员控制台中看到任何错误?@JaromandaX否,没有显示任何错误。@JaromandaX我注意到的是,如果我单击通知,然后刷新页面,在开发工具中,cookie将“路径”显示为页面名,即应用程序>Cookies下的
/contact
,当然,当我在主页上应用cookie时,它会将路径应用为
/
,这将覆盖整个站点。我想我需要一种总是将路径设置为
/
添加cookie的任何页面?添加
;路径=/
到您的cookiethen@JaromandaX啊好的。我是饼干新手,所以我不知道你能这么容易做到。如果你把这个作为答案,我会很高兴地把它标记为正确的。
// // COOKIES
var cookieButton = document.getElementsByClassName('cookie-button') [0],
cookieBanner = document.getElementsByClassName('cookie-banner') [0]

cookieButton.addEventListener('click', function() {

    var cookieString = 'CookieConsent=true; expires=';
    var date = new Date();
    var expireDate = date.getTime() + (31536000000);
    date.setTime(expireDate);
    cookieString += date.toUTCString();
    document.cookie = cookieString;

    // fades out cookie banner
    cookieBanner.classList.add('cookie-fade')

})

// prevents cookie showing on next visit
if (document.cookie.split(';').filter(function(item) {
        return item.trim().indexOf('CookieConsent=') == 0
        }).length) {
    
        // prevents cookie notice showing on next visit
        cookieBanner.classList.add('hidden');
}