我试图找出如何在会话中的一定时间后触发弹出窗口,而不是在用户切换页面时重置。我知道最简单的方法是使用cookie来跟踪会话,但我还没弄明白如何在会话的某个时间戳上触发一个函数。
这是一个我觉得有用的脚本:https://github.com/js-cookie/js-cookie
有关如何处理此问题的任何建议?提前谢谢。
答案 0 :(得分:1)
首先,使用初始日期设置cookie。
其次,在你的应用中
var minute = 1000 * 60;
var loop = setInterval(function(){
var currentDate = new Date();
var initialDate = new Date(Cookies.get('date'));
if(initialDate - currentDate >= minute){
Popup();
clearInterval(loop);
}
}, 1000)
答案 1 :(得分:0)
我最终使用了什么(Husam答案的变化):
if (Cookies.get('sessionPopup')) {} else {
var cookieTime = new Date().getTime();
Cookies.set('sessionPopup', cookieTime, { expires: 1 });
}
var loop = setInterval(function(){
var initialTime = Cookies.get('sessionPopup');
var triggerTime = new Date();
triggerTime = new Date(triggerTime .getTime() - 1000*60);
if(triggerTime.getTime() >= initialTime ){
console.log('Popup is up!');
clearInterval(loop);
}
}, 1000)