2017-12-12 33 views
0

사용자가 페이지를 전환 할 때 재설정하지 않고 세션에서 특정 시간이 지난 후 팝업을 트리거하는 방법을 찾으려고합니다. 가장 쉬운 방법은 쿠키를 사용하여 세션을 추적하는 것이지만 세션의 특정 타임 스탬프에서 함수를 트리거하는 방법을 아직 알지 못했습니다. 이 접근 방법에 https://github.com/js-cookie/js-cookie1 분 후 (페이지로드시) 트리거 팝업 창이 나타납니다.

어떤 제안 :

이것은 내가 유용하다고 생각되는 스크립트는? 미리 감사드립니다.

+0

는 간단한 아이디어의 몇 가지 테스트가 모든 페이지로드에 루프 것 쿠키의 타임 스탬프 및 최대 또는 페이지로드시 쿠키를 확인하고 만료시 경고를 보내도록 타이머를 설정하면 알림()을 푸시합니다. 아마도 내가 사용 해본 적이없는 좀 더 우아한 방법이있을 것입니다.하지만 당신의 작업에 직면했다면 탐구 할 두 트랙입니다. – DDeMartini

답변

1

먼저 쿠키를 초기 날짜로 설정하십시오.

둘째, 앱에

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) 
+0

도움 주셔서 감사합니다. 나는 당신의 코드 변형을 끝내었다. –

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)