为什么设置为24小时过期的cookie不到一个小时就会过期?

时间:2019-05-24 20:05:45

标签: javascript html cookies

该网站将触发toggleOffersActivation(),该弹出窗口显示许多不同触发器(例如滚动距离,鼠标移出窗口等)的弹出窗口。

toggleOffersActivation()还将设置cookie“ modal = seen”(如果尚未设置)。此Cookie应在24小时后过期。

仅当未设置此cookie时,触发器才应触发toggleOfferActivation()。

这里是toggleOffersActivation():

 function toggleOffersActivation(){
        loremOffers.classList.toggle('activatedOffers');
        if(document.cookie.includes("modal=seen") == false){
            document.cookie='modal=seen; max-age=86400; path=/; domain=lorem.com';
            document.cookie='modal=seen; max-age=86400; path=/; domain=shopifypreview.com';
            document.cookie='modal=seen; max-age=86400; path=/; domain=myshopify.com';
        }
    }

但是,情况并非如此,在24小时到期之前经过一段随机时间后,toggleOffersActivation()会触发,就像未设置cookie一样。

以下示例将触发该函数的代码块:


if(document.cookie.includes("modal=seen") == false){
            var scrollTimeout;
            window.addEventListener('scroll', function(){
            if(scrollTimeout){
                window.cancelAnimationFrame(scrollTimeout);
            }; 
            scrollTimeout = window.requestAnimationFrame(function(){
               if(window.scrollY > 800 && document.cookie.includes("modal=seen") == false){
                   toggleOffersActivation();
                   ga("send", "event", "Website Popup", "Trigger", "Scroll Depth");           
               }
           })
        })
    };

这将 检查cookie是否已设置,如果未设置,则将创建一个eventListener,如果用户滚动超过800px,它将触发toggleOffersActivation()函数。您可以忽略Google Analytics ga()函数。

为什么在24小时过去之前我的弹出窗口又出现了?

0 个答案:

没有答案