2011-07-02 12 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

コードブロックを次のように変更しました。これはChrome 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> 

FireFoxの5 enter image description here

クローム13 enter image description here

最初の実行、私は箱を受け取り、クッキーが設定されています。その後、ボックスはありません。

私はChromeでいくつかの奇妙なことに気付きましたが、コンソールでCookieが表示されないことがありましたが、実際にはスクリプトをデバッグするとCookieが設定され、機能していました。

+0

素晴らしい、ありがとう! – EnexoOnoma

0

これにあなたの条件を変更してみてください:

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

このヌルと '未定義の' カバーの両方。

+0

あなたの変更でコードを更新しましたが、まだ何もありません – EnexoOnoma

+0

何かが追加されているかどうかブラウザのクッキーリストをチェックしましたか? –

+0

私はfirefoxでテストしましたが、うまくいきましたが、クロムではありません – EnexoOnoma

関連する問題