2011-07-02 3 views
0

누구든지이 코드의 오류를 알려주십시오. fancybox 팝업을위한 쿠키를 설정하려하지만 모든 새로 고침에 표시됩니다. 모든 .js가 포함됩니다. 여기에 당신의 상태를 변경jquery 스크립트에 쿠키를 설정할 때의 문제

<script> 

$(document).ready(function(){ 

if(!$.cookie('the_cookie1')){ 
    $.cookie('the_cookie1', 'true', { expires: 3}); 

$.fancybox(
     '<h2>Hi!</h2><p>Lorem ipsum dolor</p>', 
     { 
       'autoDimensions' : false, 
      'width'    : 350, 
      'height'   : 'auto', 
      'transitionIn'  : 'none', 
      'transitionOut'  : 'none' 
     } 
      ); 
} 

}); 

</script> 

답변

1

코드 블록을 다음과 같이 수정했으며 크롬 13과 FF5 모두에서 예상대로 작동합니다.

<script> 

    $(document).ready(function() { 
     var cookieName = 'the_cookie1'; 

     var cookie = $.cookie(cookieName); 
     if(cookie === null) { 

      var cookieOptions = { expires: 3, path: '/' /*domain:, secure: false */ }; 

      $.cookie(cookieName, 'true', cookieOptions); 

      $.fancybox(
       '<h2>Hi!</h2><p>Lorem ipsum dolor</p>', 
       { 
        'autoDimensions': false, 
        'width': 350, 
        'height': 'auto', 
        'transitionIn': 'none', 
        'transitionOut': 'none' 
       } 
      ); 
     } 

    }); 

</script> 

파이어 폭스 5 enter image description here

크롬 13 enter image description here

먼저 실행, 나는 상자가 나타납니다 및 쿠키가 설정됩니다. 그 후, 상자 없음.

가끔씩 콘솔에 쿠키가 표시되지 않지만 실제로 스크립트를 디버깅하는 Chrome에서 쿠키가 설정되고 작동 중임을 알았습니다.

+0

위대한, 고마워! – EnexoOnoma

0

시도 :

if(! ($.cookie('the_cookie1')){... 

이 모두 포함 널 (null)과 '정의되지 않은'.

+0

수정 코드를 업데이트 했는데도 아무 것도 표시되지 않았습니다. – EnexoOnoma

+0

브라우저 쿠키 목록을 확인하여 추가 사항이 있는지 확인 했습니까? –

+0

나는 파이어 폭스에서 그것을 시험해 보았지만 괜찮 았지만 크롬에서는 그렇지 않다 – EnexoOnoma

관련 문제