该网站将触发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小时过去之前我的弹出窗口又出现了?