2014-09-11 7 views
-1

쿠키를 내 페이지에 넣고 싶습니다.
다음은 논리입니다.
페이지를로드 할 때 팝업 또는 부트 스트랩 모달을로드해야합니다. 그러나 모달은 브라우저가 활성화되어있을 때만 한 번로드됩니다. 브라우저 탭이 닫히거나 브라우저 애플리케이션이 종료 될 때만 다시로드됩니다. 나는 이것을하기 위해 세션을 사용했지만 개인적인 취향에 쿠키를 사용하는 것을 선호합니다.

자바 스크립트로이를 수행 할 수있는 방법이 있습니까?
$ (window) .load() 및 $ (window) .on ('beforeunload', function());으로 시도했습니다.

자바 스크립트 :Jquery 쿠키 : 일회용 쿠키

<script type="text/javascript"> 
    $(window).load(function() { 
     if($.cookie('firstLoad') == 'unloaded' || $.cookie('firstLoad') == 'null' || $.cookie('firstLoad') == null) { 
      $('#openLoading').modal('show'); 
      var time_exp = 1; 
      $.cookie('firstLoad','loaded',{ expires: time_exp }); 
     } 
    }); 

    $(window).on('beforeunload', function(){ 
     alert($.cookie('firstLoad')); 
     $.cookie('firstLoad','unloaded'); 
    }); 
</script> 

문제는 응용 프로그램 브라우저 location.reload()를 실행하고 어떤 방법으로 쿠키를 재설정하고 팝업을 다시 나타나게됩니다 가끔있다.
해답을 제공해주세요.

추신 : var에 time_exp 및 만료 : 언로드가

답변

1

탭을 닫으면 beforeunload 이벤트가 바로 발생하지 않습니다 작동하지 않는 경우 time_exp은 최후의 수단이다. 사용자가 사이트의 페이지를 포함하여 동일한 탭에서 새 페이지로 이동할 때마다 실행됩니다. 따라서 사용자가 페이지를 탐색 할 때마다 쿠키를 재설정합니다.

사용자가 사이트를 특별히 떠난다는 것을 알리는 이벤트는 없습니다. 당신이 할 수있는 가장 가까운 아니 expires, 브라우저가 종료 될 때 쿠키가 자동으로 삭제되도록 설정되어 있습니다.

모달에 닫기 버튼을 넣고 클릭하면 쿠키를 설정하여 사용자가 모달을 보았으므로 오랫동안 다시 표시하지 않아도됩니다.