Проблема с установкой куки в скрипте jquery - PullRequest
0 голосов
/ 02 июля 2011

Может кто-нибудь сказать, пожалуйста, что это за ошибка в этом коде? Я пытаюсь установить cookie для всплывающего окна fancybox, но оно отображается при каждом обновлении. Все .js включены.

<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>

Ответы [ 2 ]

1 голос
/ 02 июля 2011

Я изменил кодовый блок следующим образом, и он работает, как и ожидалось, как в 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

Chrome 13 enter image description here

При первом запуске я получаю коробку, и печенье установлено. После этого нет коробки.

Я заметил странность в Chrome, когда cookie не появлялся в консоли время от времени, но отладка сценария фактически показала, что cookie установлен и работает.

0 голосов
/ 02 июля 2011

попробуйте изменить ваше условие на это:

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

это охватывает как ноль, так и «неопределенное».

...