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

Trigger pop-up after a minute of session (across page-loads)

我正在尝试了解如何在会话中经过一定时间后触发弹出窗口,而不是在用户切换页面时重置。我知道最简单的方法是使用 cookie 来跟踪会话,但我还没有弄清楚如何在会话的某个时间戳触发函数。

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

关于如何处理这个问题有什么建议吗?提前谢谢你。

首先,设置带有初始日期的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)

我最终使用的是什么(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)