我有一个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>
答案 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!