1 час Cookie для проверки Возраст всплывал

голоса
0

У меня есть проверки возраста всплывал, который устанавливает куки для того, чтобы вспомнить действия пользователя в течение определенного периода времени. Я сделал это следующий другой пост здесь на переполнение стека, но у меня есть некоторые сомнения.

CSS

#popup {
  z-index: 1000;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  position: fixed;
  display: none;
  background-color: rgba(0, 0, 0, 0.8);
}

JS с помощью Cookies (не работает)

$(function() {

  //Check it the user has been accpeted the agreement
  if (!(document.cookie && document.cookie == accepted)) {
    $(#popup).show();
  }

  $('[data-popup-close]').on('click', function(e) {
    var targeted_popup_class = jQuery(this).attr('data-popup-close');
    $('[data-popup=' + targeted_popup_class + ']').fadeOut(350);

    //Set a cookie to remember the state
    document.cookie = accepted;

    e.preventDefault();
  });

});

JS с помощью локального хранилища

$(function() {

  //Check it the user has been accpeted the agreement
  if (!localStorage.getItem('accepted')) {
    $(#popup).show();
  }

  $('[data-popup-close]').on('click', function(e) {
    var targeted_popup_class = jQuery(this).attr('data-popup-close');
    $('[data-popup=' + targeted_popup_class + ']').fadeOut(350);

    //Set a cookie to remember the state
    localStorage.setItem('accepted', true);

    e.preventDefault();
  });
});

Мой первый вопрос почему использование Cookies не работает?

И второй является то, что я хотел бы иметь печенье в течение определенного периода времени, как указано выше. Теперь с помощью метода LocalStorage просто показать всплывающее окно один раз, и если я принимаю и обновить страницу не отображается всплывающее окно больше, но я думаю, что не будет показывать его навсегда. Я попытался использовать это внутри функции управления, как долго куки будут активны.

$.cookie('accepted','yes', {expires: 7, path: '/'});

Я предполагаю, что «7» означает 7 дней, но если ставить «0» она делает то же самое. Является ли это просто Возможным есть печенье в течение одного часа, чтобы увидеть, если он работает правильно?

Большое спасибо, как обычно, за вашу помощь.

бром

Задан 07/11/2018 в 19:58
источник пользователем
На других языках...                            


1 ответов

голоса
1

Дни только число умножается на секунды позже в плагине. Если вы хотите, чтобы куки будут храниться в течение 1 часа, то вы можете попробовать

$.cookie('accepted','yes', {expires: 1/24, path: '/'});

Вы можете попробовать следующий код

$(function() {

  //Check it the user has been accepted the agreement
  if (!$.cookie('accepted')) {
    $("#popup").show();
  }

  $('[data-popup-close]').on('click', function(e) {
    var targeted_popup_class = $(this).attr('data-popup-close');
    $('[data-popup="' + targeted_popup_class + '"]').fadeOut(350);

    //Set a cookie to remember the state
    $.cookie('accepted','yes', {expires: 1/24, path: '/'});
    e.preventDefault();
  });

});
Ответил 07/11/2018 в 20:17
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more