jQuery устанавливает cookie для первого посещения - PullRequest
3 голосов
/ 07 февраля 2012

У меня есть такой скрипт (я использую jQuery cookie js для установки файлов cookie) для отображения слоя при первом посещении.

<script type="text/javascript">
    $(document).ready(function() {
        var visited = $.cookie('visited', 'yes', { expires: 1, path: '/' });

        if (visited == null) {
            $('.newsletter_layer').show();
            $.cookie('visited', 'yes'); 
            alert($.cookie("visited"));         
        }
    });
</script>

К сожалению, что-то не работает.Я думаю, что-то не так с утверждением if.Кто-нибудь имеет представление, что может быть не так?

Ответы [ 2 ]

16 голосов
/ 07 февраля 2012

Поскольку вы создаете куки, он никогда не будет нулевым. Вам нужно изменить свою логику, чтобы сначала проверить, существует ли cookie. Если нет, покажите элемент .newsletter_layer, затем установите значение cookie:

<script type="text/javascript">
    $(document).ready(function() {
        // check cookie
        var visited = $.cookie("visited")

        if (visited == null) {
            $('.newsletter_layer').show();
            alert($.cookie("visited"));         
        }

        // set cookie
        $.cookie('visited', 'yes', { expires: 1, path: '/' });
    });
</script>
0 голосов
/ 19 октября 2018

Если кто-то наткнется на эти 6 лет в будущем, как я, я заставлю это работать с модификацией:

Заменить: $ .cookie -> Печенье

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...