2017-01-04 1 views
1

누군가가 나를 도울 수 있다고 생각하기 전에 요청하기 전에 온라인으로 조사를 시도했습니다.신규 사용자를위한 모달 팝업 - 부트 스트랩, PHP, js

현재 준비가되어있는 (환영) 부트 스트랩 모달에 대해 작업 중입니다. 나는 PHP 환경에서 일하고 있는데, 나는 PHP와 js의 슈퍼 놈이다. 현재 나는 그것을 가지고 있으므로 쿠키를 통해 단 한번 팝업됩니다.

<script type="text/javascript"> 
    $(document).ready(function() { 
     if (document.cookie.indexOf("shown=true")<0) { 
      var show = function(){ 
       $('#myModal').modal('show'); 
      }; 

      $(window).load(function(){ 
       var timer = window.setTimeout(show,500); 
      }); 
     } 

     document.cookie = "shown=true; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/"; 
    }); 
</script> 

현재 내 모든 사용자가 현재 표시하고 있으며 색인 페이지에만 새 가입을 표시하고 싶습니다.

예 : 사용자가 가입 -> 클릭 등록 -> 사용자가 부트 스트랩 모달이 나타나는 색인 페이지로 이동합니다 (한 번만).

이 방법이 있습니까? 내가 올바른 방향으로가는거야? 클라이언트 측 대 서버 측? 어떤 도움을 주시면 감사하겠습니다.

미리 감사드립니다. 클라이언트 측에서 그것을 처리하기 위하여려고하는 경우에

capt.poopypants

+0

합니다. '$ _SERVER [ 'HTTP_REFERER']'를 사용하여 사용자가 등록에서 왔는지를 확인한 다음, 사실인지 확인하십시오. – Mihailo

답변

0

은 로컬 스토리지를 사용하는 것이 좋습니다. 그러나 클라이언트 쪽에서 브라우저 캐시를 지우면 다시 설정되며 두 번째 사용자가 동일한 브라우저에 등록하면 작동하지 않습니다. 이 모든 경우를 처리하려면 서버에서 플래그를 가져 와서 모달을 표시할지 여부를 알려야합니다. 하지만 클라이언트 측 접근 방식으로 갈 경우, 쿠키를 제거하고 로컬 스토리지 사용하여 코드를 변경할 수 있습니다 : 당신이 부분을 아래로 쿠키를 사용하여 "한 번만 쇼"를 가지고 제대로 이해하면

<script type="text/javascript"> 
    $(document).ready(function() { 
     var wasModalShown = localStorage.getItem('wasModalShown'); 
     if (!wasModalShown) { 
     localStorage.setItem('wasModalShown', true); 
     var show = function() { 
      $('#myModal').modal('show'); 
     }; 

     $(window).load(function() { 
      var timer = window.setTimeout(show, 500); 
     }); 
     } 
    }); 
</script>