会话一分钟后触发弹出窗口(跨页面加载)

时间:2017-12-12 21:22:34

标签: javascript jquery cookies popup session-cookies

我试图找出如何在会话中的一定时间后触发弹出窗口,而不是在用户切换页面时重置。我知道最简单的方法是使用cookie来跟踪会话,但我还没弄明白如何在会话的某个时间戳上触发一个函数。

这是一个我觉得有用的脚本:https://github.com/js-cookie/js-cookie

有关如何处理此问题的任何建议?提前谢谢。

2 个答案:

答案 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)