如何查看频繁访问者的年龄验证Cookie

时间:2017-06-28 19:35:42

标签: javascript cookies

我有一个jqueryUI对话框,询问用户是否21岁并设置一年的cookie。我想检查每个访问者的cookie,这样他们每次访问网站时都不必验证他们是否超过21岁。我找到了一些其他年龄验证码存储库,但它们都过于复杂。我已经下载了js.cookie.js进行操作。我希望有一种非常简单的方法来处理它。任何建议,将不胜感激。先感谢您!这是我的代码:

<div id="dialog" title="Must Be 21 Years Old to Enter">Are you 21 years old?</div>

<script>
   $( "#dialog" ).dialog ({ 
            autoOpen: true,
            width: 410
   });

   $("#dialog").dialog ({
       dialogClass: "no-close",
     buttons: {
       'Yes, I am 21 years old!': function() {
           document.cookie = "ageConfirm=true; expires=365";
           $("#dialog").dialog("close");
       },
       'No, I am not 21 years old.': function() {
           document.cookie = "ageConfirm=";
           window.location.href = "http://www.google.com",
           $("#dialog").dialog("close");
       }
     }
   });
</script>

2 个答案:

答案 0 :(得分:1)

你可以试试这个:

$( "#dialog" ).dialog ({ 
            autoOpen: Cookies.get('ageConfirm') === "true",
            width: 410
});

这个想法是,如果ageConfirm cookie设置为true,则不要打开对话框。我猜这是autoOpen在你的代码中做了什么?

答案 1 :(得分:0)

感谢史密斯先生的建议,我能够使用IF声明得出答案:

if (Cookies.get('ageConfirm') == null) {
    $( "#dialog" ).dialog ({ 
        autoOpen: true,
        width: 410
    });
}

else {
    $( "#dialog" ).dialog ({ 
        autoOpen: false
    });
}

$("#dialog").dialog ({
    dialogClass: "no-close",
  buttons: {
    'Yes, I am 21 years old!': function() {
        document.cookie = "ageConfirm=true; max-age=31536000";
        $("#dialog").dialog("close");
    },
    'No, I am not 21 years old.': function() {
        document.cookie = "ageConfirm=";
        window.location.href = "http://www.google.com",
        $("#dialog").dialog("close");
    }
  }
});

现在只有在之前的年龄验证中尚未设置cookie时,jqueryUI对话框才会显示... Yayyyyyy!